Frage: Ich habe versucht, das begonnene Baumdiagramm zu vervollständigen (siehe Abbildung).
Das ist, was ich habe
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{trees}
\begin{document}
\begin{center}
\begin{tikzpicture}[level 1/.style={sibling distance=5cm},level 2/.style={sibling distance=4.0cm}]
\node {1}[edge from parent fork down]
child { node {2}}
child { node {3}
child {node{4} }
child {node{5}}
}
;
\end{tikzpicture}
\end{center}
\end{document}
Antwort1
Zum Vergleich: So können Sie dies tun forest
:
\documentclass{article}
\usepackage[edges]{forest}
\begin{document}
\begin{forest}
for tree={forked edge, edge=->, draw, circle, minimum size=8mm, l sep=5mm}
[1, s sep=5cm
[2]
[3, s sep=4cm
[4, s sep=3cm
[6, s sep=1cm
[9][10][11]
]
[7]
[8, s sep=2cm
[12][13]
]
]
[5]
]
]
\end{forest}
\end{document}
Antwort2
Sie müssen nur Ihre child
s verschachteln:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{trees}
\begin{document}
\begin{center}
\begin{tikzpicture}[level 1/.style={sibling distance=5cm},
level 2/.style={sibling distance=4.0cm},
level 3/.style={sibling distance=2.0cm},
level 4/.style={sibling distance=1.0cm}]
\node {1}[edge from parent fork down]
child { node {2}}
child { node {3}
child {node{4}
child {node{6}
child {node{9}}
child {node{10}}
child {node{11}}}
child {node{7}}
child {node{8}
child {node{12}}
child {node{13}}}}
child {node{5}}
}
;
\end{tikzpicture}
\end{center}
\end{document}
Wenn Sie eingekreiste Zahlen wünschen, fügen Sie in den tikzpicture
Optionen hinzu
every node/.style={draw, circle},
Antwort3
Dies basiert auf der Antwort von Sandy G. Ich habe keine Ahnung, ob Sie A4 oder US-Letter verwenden. Wahrscheinlich letzteres, aber ich nehme ersteres an, da es schmaler ist.
Wenn Sie verwenden forest
, passt etwas, das Ihrem Baum ähnelt. Es ist nicht ganz Ihr Baum, weil ich beim Eintippen von Inhalten die Geduld verlor, als mir die Wörter fremd wurden, und stattdessen anfing, mir Dinge auszudenken.
Beachten Sie, dass der Umstieg auf forest
hilft, weil das Paket standardmäßig kompaktere Bäume erzeugt ( fit=tight
).
\begin{forest}
% ateb: https://tex.stackexchange.com/a/707154/ addaswyd o ateb Sandy G: https://tex.stackexchange.com/a/706800/
forked edges,
for tree={
edge+=->,
draw,
font=\sffamily,
},
where={>Ow+P{n children}{isodd(#1)}}{%
delay={for n=2{calign with current edge}}
}{},
[Fluids
[Ideal Fluids]
[Real Fluids
[Non-Newtonian Fluids
[Time-Independant Fluids
[Vouch-saving Vanilla][Soliciting Sourdough][Advocating Avocado]
]
[Timeless Thyme]
[Time-Dependant Fluids
[Peppermint][Spearmint]
]
]
[Newtonian Fluids]
]
]
\end{forest}
Vollständiger Code:
\documentclass[a4paper]{article}
\usepackage[showframe]{geometry}
% ateb: https://tex.stackexchange.com/a/707154/ addaswyd o ateb Sandy G: https://tex.stackexchange.com/a/706800/
\usepackage[edges]{forest}
\begin{document}
\noindent
\begin{forest}
% ateb: https://tex.stackexchange.com/a/707154/ addaswyd o ateb Sandy G: https://tex.stackexchange.com/a/706800/
forked edges,
for tree={
edge+=->,
draw,
font=\sffamily,
},
where={>Ow+P{n children}{isodd(#1)}}{%
delay={for n=2{calign with current edge}}
}{},
[Fluids
[Ideal Fluids]
[Real Fluids
[Non-Newtonian Fluids
[Time-Independant Fluids
[Vouch-saving Vanilla][Soliciting Sourdough][Advocating Avocado]
]
[Timeless Thyme]
[Time-Dependant Fluids
[Peppermint][Spearmint]
]
]
[Newtonian Fluids]
]
]
\end{forest}
\end{document}
Wenn das nicht ausreicht, schlage ich vor, entweder sidewaysfigure
das rotating
Paket zu verwenden oder Zeilenumbrüche in Knoten zuzulassen.
\begin{forest}
% ateb: https://tex.stackexchange.com/a/707154/ addaswyd o ateb Sandy G: https://tex.stackexchange.com/a/706800/
forked edges,
for tree={
edge+=->,
draw,
font=\sffamily,
align=center,
},
where={>Ow+P{n children}{isodd(#1)}}{%
delay={for n=2{calign with current edge}}
}{},
[Fluids
[Ideal Fluids]
[Real Fluids
[Non-Newtonian Fluids
[Time-Independant\\Fluids
[Vouch-saving\\Vanilla][Soliciting\\Sourdough][Advocating\\Avocado]
]
[Timeless\\Thyme]
[Time-Dependant\\Fluids
[Peppermint][Spearmint]
]
]
[Newtonian Fluids]
]
]
\end{forest}
Besser noch: Vermeiden Sie die Duplizierung von Informationen. Ganz oben im Baum steht, dass es sich hier um Flüssigkeiten handelt. Warum also ständig wiederholen? Wenn Sie überflüssige Informationen entfernen, Fluids
wird Ihr Diagramm möglicherweise klarer, auch wenn die Breite dadurch nicht wesentlich verringert wird.
Oder, wenn Sie abenteuerlustiger sein wollen, können Sie sogar widerspenstige Knoten umdrehen. Allerdings würde ich diese Methode nur in geeigneten Fällen empfehlen (und ich bezweifle, dass dies einer davon ist).
\begin{forest}
% ateb: https://tex.stackexchange.com/a/707154/ addaswyd o ateb Sandy G: https://tex.stackexchange.com/a/706800/
forked edges,
for tree={
edge+=->,
draw,
font=\sffamily,
},
where={>Ow+P{n children}{isodd(#1)}}{%
delay={for n=2{calign with current edge}}
}{},
before typesetting nodes={%
tempcounta/.max={>O{level}}{tree},
where={> OR= {level}{tempcounta}}{rotate=-90,anchor=parent}{},
},
[Fluids
[Ideal]
[Real
[Non-Newtonian
[Time-Independent
[Vouch-saving Vanilla][Soliciting Sourdough][Advocating Avocado]
]
[Timeless Thyme]
[Time-Dependant
[Peppermint][Spearmint]
]
]
[Newtonian]
]
]
\end{forest}