Ich habe in meinem morphologischen Kasten die Bilder alle beschriftet. Jedoch kommt es ja vor das der Begriff ziemlich lang ist. Demnach wird ja auch logischerweise die Tabelle breiter. Was ich jetzt jedoch erreichen möchte ist, dass dies nicht passiert. Ich würde lieber gerne die Schrift verkleinern und eventuell hin und wieder mal einen Zeilenbruch dafür haben. Die Spalten der einzelnen Lösungsvarianten könnten sich auch nach der Breite der Bilder richten. Könnt ihr mir da vielleicht weiter helfen? Öffne in Overleaf
\documentclass[DIV=21,12pt,captions=tableheading]{scrreprt} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{booktabs} \usepackage{tikz} \usetikzlibrary{matrix} \newcommand\zeilenabstand{\normalbaselineskip} \newcommand\grafik[2]{% \begin{minipage}{2cm} \centering\smash{\raisebox{\tabcolsep}{#1}}% \includegraphics[width=\linewidth,height=2cm]{#2}% \end{minipage}% } \tikzset{vp/.style={circle,fill,inner sep=3pt}} \newcommand\verbindungslinie[3]{ \foreach [remember=\p as \lastp (initially #2)] \p in {#3} \draw[#1](\lastp.center)node[vp]{}--(\p.center)node[vp]{}; } \usepackage{mwe}% für example-image \begin{document} \begin{center} \begin{minipage}{\linewidth} \captionof{table}{Morphologischer Kasten}\label{morphKasten} \begin{tikzpicture}[ very thick, nodes={inner sep=\tabcolsep} ] \matrix[ matrix of nodes, inner sep=0pt, row sep=\zeilenabstand, column 2/.style={minimum width=5cm}, ](m){ 1&Teilfunktion 1 &\grafik{Text}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image}\\ 2&Teilfunktion 2 &\grafik{Text}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image}\\ \ldots&{} &\grafik{Text}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image}\\ n&Teilfunktion n &\grafik{Text}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image}\\ &&{}&{}&{}&{}\\ }; % Kopfzeile \node(ul)[anchor=south west] at ([yshift={\zeilenabstand+\aboverulesep+\belowrulesep}]m.north west) {Teilfunktion}; \node(or)[anchor=south east] at (ul.north-|m-1-2.east){Lösungsvarianten}; \foreach[count=\i from 3] \c in {1,2,\ldots,m} \node[anchor=base] at (or.base-|m-1-\i){\c}; % Tabellenlinien \draw[line width=\lightrulewidth](or.north-|ul.west)--(or.east|-ul.south) ([yshift=-\aboverulesep]ul.south-|m.west) --([yshift=-\aboverulesep]ul.south-|m.east); \draw[line width=\heavyrulewidth]([yshift=\belowrulesep]or.north-|m.west) --([yshift=\belowrulesep]or.north-|m.east) ([yshift={-\aboverulesep-\zeilenabstand}]m.south west) --([yshift={-\aboverulesep-\zeilenabstand}]m.south east); % Verbindungslinien \verbindungslinie{red}{m-1-3}{m-2-4,m-3-3,m-4-5,m-5-5} \verbindungslinie{blue}{m-1-5}{m-2-3,m-3-3,m-4-3,m-5-3} \verbindungslinie{green}{m-1-6}{m-2-6,m-3-4,m-4-6,m-5-6} \foreach \f/\p/\t in {red/m-5-5/LV1,blue/m-5-3/LV2,green/m-5-6/LV3} \node[\f,below,font=\bfseries]at(\p){\t}; \end{tikzpicture} \end{minipage} \end{center} \end{document} |
Wenn die Beschriftung nur so breit wie das Bild sein soll, dann kannst Du sie in eine Öffne in Overleaf
\documentclass[DIV=21,12pt,captions=tableheading]{scrreprt} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{booktabs} \usepackage{tikz} \usetikzlibrary{matrix} \newlength\bildhoehe \setlength\bildhoehe{2cm} \newcommand\bildbreite{2cm} \newcommand\schrift{\footnotesize}% Einstellung für Bildbeschriftungen \newcommand\zeilenabstand{.75\tabcolsep} \newcommand\grafik[2]{% \begin{minipage}{\bildbreite} \centering\raisebox{.5\tabcolsep}{% \parbox[b]{\linewidth}{\hspace*{0pt}\raggedright\schrift#1}}\newline% \includegraphics[width=\linewidth,height=\bildhoehe]{#2}% \end{minipage}% } \newcommand\LV{\rule{0pt}{0.5\bildhoehe}}% Stütze, liefert nötige Höhe für Endpunkte \tikzset{vp/.style={circle,fill,inner sep=3pt}} \newcommand\verbindungslinie[3]{ \foreach [remember=\p as \lastp (initially #2)] \p in {#3} \draw[#1]([yshift=.5\bildhoehe]\lastp.south)node[vp]{}--([yshift=.5\bildhoehe]\p.south)node[vp]{}; } \usepackage{mwe}% für example-image \begin{document} \begin{center} \begin{minipage}{\linewidth} \captionof{table}{Morphologischer Kasten}\label{morphKasten} \begin{tikzpicture}[ very thick, nodes={inner sep=\tabcolsep} ] \matrix[ matrix of nodes, inner sep=0pt, nodes={anchor=south}, row sep=\zeilenabstand, column 1/.style={text width={2\tabcolsep+1em},align=right,yshift=0.5\bildhoehe}, column 2/.style={minimum width=4.5cm,yshift=0.5\bildhoehe} ](m){ 1&Teilfunktion 1 &\grafik{Text}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image}\\ 2&Teilfunktion 2 &\grafik{längerer Text}{example-image} &\grafik{Beispielbild}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image}\\[\tabcolsep]% wegen der Linie \ldots&{} &\grafik{Text}{example-image} &\grafik{Bild mit sehr langem Text}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image}\\ n&Teilfunktion n &\grafik{Text}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image} &\grafik{Text}{example-image}\\ &&\LV&\LV&\LV&\LV\\ }; % Kopfzeile \node(ul)[anchor=south west] at ([yshift={\zeilenabstand+\aboverulesep+\belowrulesep}]m.north west) {Teilfunktion}; \node(or)[anchor=south east] at (ul.north-|m-1-2.east){Lösungsvarianten}; \foreach[count=\i from 3] \c in {1,2,\ldots,m} \node[anchor=base] at (or.base-|m-1-\i){\c}; % Tabellenlinien \draw[line width=\lightrulewidth](or.north-|ul.west)--(or.east|-ul.south) ([yshift=-\aboverulesep]ul.south-|m.west) --([yshift=-\aboverulesep]ul.south-|m.east); \draw[line width=\heavyrulewidth]([yshift=\belowrulesep]or.north-|m.west) --([yshift=\belowrulesep]or.north-|m.east) ([yshift={-\aboverulesep-\zeilenabstand}]m.south west) --([yshift={-\aboverulesep-\zeilenabstand}]m.south east); % Verbindungslinien \verbindungslinie{red}{m-1-3}{m-2-4,m-3-3,m-4-5,m-5-5} \verbindungslinie{blue}{m-1-5}{m-2-3,m-3-3,m-4-3,m-5-3} \verbindungslinie{green}{m-1-6}{m-2-6,m-3-4,m-4-6,m-5-6} \foreach \f/\p/\t in {red/m-5-5/LV1,blue/m-5-3/LV2,green/m-5-6/LV3} \node[\f,below,font=\bfseries]at(\p){\t}; % vertikale Beschriftung und Tabellenzwischenlinie \path(m-1-1.north west)-- node[xshift=\zeilenabstand,rotate=90]{Beschriftung} (m-2-1.south west); \draw[line width=\lightrulewidth]([yshift=-\tabcolsep]m.west|-m-2-3.south)--([yshift=-\tabcolsep]m.east|-m-2-3.south); \end{tikzpicture} \end{minipage} \end{center} \end{document} beantwortet 08 Jan '15, 10:53 esdd |