Morphologischer Kasten, tikz

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Morphologischer Kasten, tikz

von FireFox » Di 21. Mai 2019, 17:32

Vielen Dank,

genau wie esdd es gemacht hat soll es ausshen.
Finde die ganze Angelegenheit mit tikz schon sehr anspruchsvoll für einen latex Anfänger, umso dankbarer bin ich hier für die immer freundliche und schnelle Hilfe !

LG FireFox

von esdd » Di 21. Mai 2019, 17:14

Mir ist jetzt nicht ganz klar, wie das Ergebnis aussehen soll. Das gilt für den Verlauf der Verbindungslinien und die Position der LVs unten.
\documentclass[ 
  fontsize=12pt, 
  twoside, 
  open=right, 
  toc=bibnumbered, 
  toc=listof, 
  captions=abovetable,% <- ergänzt
  ngerman 
]{scrreprt} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage{babel} 
\usepackage{lmodern} 

\usepackage{tikz} 
\usetikzlibrary{matrix} 
\usepackage{booktabs} 
\usepackage{hyperref} 

\newcommand\zeilenabstand{10pt} 

\tikzset{vp/.style={circle,fill,inner sep=2pt}} 
\newcommand\verbindungslinie[3]{ 
  \node[#1,vp]at([yshift=-.15*\zeilenabstand]#2.south){};
  \foreach [remember=\p as \lastp (initially #2)] \p in {#3} 
    \draw[ultra thick,#1,draw opacity=.4]([yshift=-.15*\zeilenabstand]\lastp.south)--([yshift=-.15*\zeilenabstand]\p.south)node[vp]{}; 
} 

\begin{document} 
\begin{center} 
  \begin{minipage}{\linewidth} 
    \captionof{table}{Morphologischer Kasten Getriebevarianten}\label{morphologischer_kasten} 
    
    \begin{tikzpicture} 
      \matrix[ 
          matrix of nodes ,
          inner sep=0pt,
          row sep=\zeilenabstand,
          column sep=15pt,
          nodes={font=\strut},
          nodes in empty cells,
          column 2/.style={text width=5cm}, 
          column 3/.style={text width=3.5cm,align=center}, 
          column 4/.style={text width=3.5cm,align=center}, 
          column 5/.style={text width=3.5cm,align=center}
       ](m) 
       { 
           1& Übertragung 
            & Schneckenradsatz 
            & Innenradpaarung
            & Strinradpaarung\\ 
           2& Schmierung 
            & Tauchschmierung 
            & Trockenschmierung 
            & Sprühschmierung\\ 
           3& Gesamtgröße 
            & Klein 
            & Mittel 
            & Groß\\ 
           4& Kleiner Durchlass
            & Ja 
            & Nein 
            &\\ 
            &&&&\\
            &
            &|[red]|{\textbf{LV1}}
            &|[blue]|{\textbf{LV2}}
            &|[green]|{\textbf{LV3}}\\ 
        }; 
% 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] \l in {1,2,3} 
          \node[anchor=base] at (or.base-|m-1-\i){\l}; 
% 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}]m.south west) 
            --([yshift={-\aboverulesep}]m.south east); 
% Verbindungslinien 
        \verbindungslinie{red}{m-1-3}{m-2-3,m-3-3,m-4-3,m-5-3} 
        \verbindungslinie{blue}{m-1-4}{m-2-4,m-3-4,m-4-3,m-4-4,m-5-4} 
        \verbindungslinie{green}{m-1-5}{m-2-4,m-3-4,m-4-4,m-5-5} 
    \end{tikzpicture} 
  \end{minipage} 
\end{center} 
\end{document}

von Bartman » Di 21. Mai 2019, 16:29

Zu 3: Wie die Fehlermeldung schon sagt, ist der Name des Knoten unbekannt. Die Option nodes in empty cells hilft da weiter.

Morphologischer Kasten, tikz

von FireFox » Di 21. Mai 2019, 14:16

Hi,

blicke mit tikz noch nicht ganz durch.
Meine Probleme:
1. Ich würde gerne Spalte 3-5 Mittig anordnen, damit die Punkte der Verbindungslinien immer unter den Wörten sind
2. die unterste Linie müsste noch weiter runter
3. bei meiner günen verbindungslinie bekomme ich einen Fehler wenn ich m-4-4 durch m-4-5 erstezte, weiß aber nicht warum, der Punkt sollte bei der Gesamtgröße bei Groß sein

Habe mir bereits einige andere Beispiele angesehen, bin aber nicht weiter gekommen
\documentclass[
fontsize=12pt,
twoside,
open=right,
toc=bibnumbered,
toc=listof,
ngerman
]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{lmodern}

\usepackage{tikz}
\usetikzlibrary{matrix}
\usepackage{booktabs}
  
\usepackage{hyperref}


%%%%%%%%
\newlength\bildhoehe
\setlength\bildhoehe{1cm}
%\newcommand\bildbreite{1cm}
\newcommand\schrift{\footnotesize}% Einstellung für Bildbeschriftungen
\newcommand\zeilenabstand{.75\tabcolsep}

\newcommand\LV{\rule{0pt}{0.5\bildhoehe}}% Stütze, liefert nötige Höhe für Endpunkte

\tikzset{vp/.style={circle,fill,inner sep=2pt}}
\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]{};
}

\begin{document}

\begin{center}
  \begin{minipage}{\linewidth}
    \captionof{table}{Morphologischer Kasten Getriebevarianten}\label{morphologischer_kasten}
   
    \begin{tikzpicture}
      \matrix[
          matrix of nodes ,
          inner sep=0pt,
          row sep=10pt,
		  column sep=15pt,
          column 2/.style={text width=5cm},
          column 3/.style={text width=3.5cm},
          column 4/.style={text width=3.5cm},
          column 5/.style={text width=3.5cm},
              ](m)
       {
           1& Übertragung
            & Schneckenradsatz
            & Innenradpaarung          
            & Strinradpaarung\\
           2& Schmierung
            & Tauchschmierung
            & Trockenschmierung
            & Sprühschmierung\\
           3& Gesamtgröße
            & Klein
            & Mittel
            & Groß\\
           4& Kleiner Durchlass            
            & Ja
            & Nein
            & \\
            &{}
            &{}
            &{}
            &{}\\
        };
% 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] \l in {1,2,3}
          \node[anchor=base] at (or.base-|m-1-\i){\l};
% 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-2-3}{m-3-3,m-4-3,m-5-3}
        \verbindungslinie{blue}{m-2-4}{m-3-4,m-4-4,m-5-3,m-5-4}
        \verbindungslinie{green}{m-2-5}{m-3-4,m-4-4,m-5-4,m-5-5}
        \foreach \f/\p/\t in {red/m-5-3/LV1,blue/m-5-4/LV2,green/m-5-5/LV3}
          \node[\f,below,font=\bfseries]at(\p){\t};
    \end{tikzpicture}
  \end{minipage}
\end{center}

\end{document}

Nach oben