Hallo zusammen,

ich versuche gerade mit TikZ Flowcharts für meine Lern-Zusammenfassung zu erstellen. Nun habe ich das folgende Problem:

Solange ich in den einzelnen nodes meines Flowcharts nur Platzhalter in Form von Zahlen habe funktioniert alles wunderbar. Ersetze ich aber die Platzhalter durch den eigentlichen Text, verschieben sich die paths des Flowcharts und laufen direkt oben an den nodes entlang.

Kann mir jemand sagen was ich falsch gemacht habe und wie ich das Problem lösen kann?

Ohne den Text funktioniert das Ganze:

Öffne in Overleaf
\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}

\usepackage{tikz}
\usetikzlibrary{matrix,calc,shapes}
\tikzset{
env/.style      = {shape=rectangle,
                 draw, anchor=north,
                 text width=7em, align=left,
                 inner sep=1ex},
}
\begin{document}
\begin{center}

\begin{tikzpicture}[-latex]
\matrix (chart)
[
matrix of nodes,
column sep      = 1em,
row sep         = 1cm,
nodes = env,
]
{
&& 3 & & \\
1 & 2 & 3 & 4 & 5\\
};
\draw (chart-2-1) |- (0,0)-| (chart-1-3.south);
\draw (chart-2-2)  |- (0,0) -| (chart-1-3.south);
\draw (chart-2-3) |- (0,0) -|(chart-1-3.south);
\draw (chart-2-4) |- (0,0) -| (chart-1-3.south);
\draw (chart-2-5) |- (0,0) -| (chart-1-3.south);

\end{tikzpicture}
\end{center}
\end{document}

Hier das Ergebnis:

alt text

Mit dem Text funktioniert es dann nicht mehr:

Öffne in Overleaf
\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}

\usepackage{tikz}
\usetikzlibrary{matrix,calc,shapes}
\tikzset{
env/.style      = {shape=rectangle,
                 draw, anchor=north,
                 text width=7em, align=left,
                 inner sep=1ex},
}
\begin{document}
\begin{center}

\begin{tikzpicture}[-latex]
\matrix (chart)
[
matrix of nodes,
column sep      = 1em,
row sep         = 1cm,
nodes = env,
]
{
&& 3 & & \\
Hier wird dann etwas stehen & Hier wird dann auch etwas stehen & Auch hier soll etwas stehen & Hier auch & Und sogar hier 
wird etwas stehen\\
};
\draw (chart-2-1) |- (0,0)-| (chart-1-3.south);
\draw (chart-2-2)  |- (0,0) -| (chart-1-3.south);
\draw (chart-2-3) |- (0,0) -|(chart-1-3.south);
\draw (chart-2-4) |- (0,0) -| (chart-1-3.south);
\draw (chart-2-5) |- (0,0) -| (chart-1-3.south);

\end{tikzpicture}
\end{center}
\end{document}

Das ist das Ergebnis:

alt text

gefragt 06 Okt '18, 14:30

Nahele's gravatar image

Nahele
4625
Akzeptiert-Rate: 0%


Es funktioniert, wenn Du row sep anpasst, z.B. row sep = 3cm. Besser ist aber einfach minimum height=4em für die nodes zu ergänzen, dann kann der row sep bleiben wie er ist und die nodes sind alle gleich hoch.

alt text

Öffne in Overleaf
\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}

\usepackage{tikz}
\usetikzlibrary{matrix,calc,shapes}
\tikzset{
env/.style      = {shape=rectangle,
                 draw, anchor=north,
                 text width=7em, align=left,
                 inner sep=1ex,
                 minimum height=4em,
                 },
}
\begin{document}
\begin{center}

\begin{tikzpicture}[-latex]
\matrix (chart)
[
matrix of nodes,
column sep      = 1em,
row sep         = 1cm,
nodes = env,
]
{
&& 3 & & \\
Hier wird dann etwas stehen & Hier wird dann auch etwas stehen & Auch hier soll etwas stehen & Hier auch & Und sogar hier 
wird etwas stehen\\
};
\draw (chart-2-1) |- (0,0)-| (chart-1-3.south);
\draw (chart-2-2)  |- (0,0) -| (chart-1-3.south);
\draw (chart-2-3) |- (0,0) -|(chart-1-3.south);
\draw (chart-2-4) |- (0,0) -| (chart-1-3.south);
\draw (chart-2-5) |- (0,0) -| (chart-1-3.south);

\end{tikzpicture}
\end{center}
\end{document}
Permanenter link

beantwortet 06 Okt '18, 14:50

cis's gravatar image

cis
9.5k75452491
Akzeptiert-Rate: 29%

Danke für die Antwort! Das hat hat mein Problem perfekt gelöst.

(06 Okt '18, 17:52) Nahele
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×728
×13
×3

gestellte Frage: 06 Okt '18, 14:30

Frage wurde gesehen: 3,903 Mal

zuletzt geändert: 06 Okt '18, 17:52