Morphologischer Kasten mit TikZ
Verfasst: Do 13. Jul 2017, 19:43
Hallo
Ich habe hier eine Vorlage für einen morphologischen Kasten gefunden, der ziemlich meinen Vorstellungen entspricht.
Wenn ich meine Bilder einfügen möchte, mach ich das ja mit \includegraphics
Wie kann ich dann einen Text über das Bild setzen, so wie in diesem Beispiel?
Ich habe hier eine Vorlage für einen morphologischen Kasten gefunden, der ziemlich meinen Vorstellungen entspricht.
\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\\ }; % 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}
Wie kann ich dann einen Text über das Bild setzen, so wie in diesem Beispiel?