Ich würde gerne einen morphologischen Kasten um folgendes erweitern:

vor der nummerierung würde ich gerne eine weiter Spalten haben in der vertikal zB ein Bezeichnen über eine bestimmte Anzahl von Zeilen geht. Anschließend soll diese "Gruppe" von einer Linie von der nächsten getrennt werden.

Könnt ihr mir da weiterhelfen?

Open in writeLaTeX
\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}

alt text

gefragt 01 Jan '15, 16:34

Giovario's gravatar image

Giovario
3301819
Akzeptiert: 88%



Siehe auch Wie kann ich im morphologischen Kasten die Schriftgröße anpassbar machen?


Die 1.Spalte könnte etwas breiter gemacht und rechtsbündig ausgerichtet werden:

Open in writeLaTeX
column 1/.style={text width={\zeilenabstand+1em},align=right},

Dann kann die Beschriftung mit samt der Trennlinie hinterher eingefügt werden:

Open in writeLaTeX
% 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](m.west|-m-2-3.south)--(m.east|-m-2-3.south);

alt text

Code:

Open in writeLaTeX
\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 1/.style={text width={\zeilenabstand+1em},align=right},
          column 2/.style={minimum width=4.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};
% 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](m.west|-m-2-3.south)--(m.east|-m-2-3.south);
    \end{tikzpicture}
  \end{minipage}
\end{center}
\end{document}
Permanenter link

beantwortet 01 Jan '15, 18:00

esdd's gravatar image

esdd
14.2k53251

bearbeitet 08 Jan '15, 05:00

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×31
×27

Frage gestellt: 01 Jan '15, 16:34

Frage wurde angeschaut: 2,316 Mal

Zuletzt aktualisiert: 08 Jan '15, 05:00