Pergunta: Tenho tentado completar o diagrama de árvore que comecei (veja a figura).
Isso é o que eu tenho
\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}
Responder1
Para efeito de comparação, aqui está como você poderia fazer isso usando 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}
Responder2
Você só precisa aninhar seus child
s:
\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}
Se você quiser números entre círculos, nas tikzpicture
opções do adicione
every node/.style={draw, circle},
Responder3
Isto é baseado na resposta de Sandy G. Não tenho ideia se você está usando A4 ou carta dos EUA. Provavelmente o último, mas presumo o primeiro por ser mais restrito.
Se você usar forest
, algo parecido com sua árvore se encaixa. Não é bem a sua árvore porque perdi a paciência digitando o conteúdo quando as palavras se tornaram desconhecidas e comecei a inventar coisas.
Observe que o motivo da mudança para forest
ajuda é que o pacote produz árvores mais compactas por padrão ( 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}
Código completo:
\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}
Se isso não for suficiente, sugiro usar sidewaysfigure
o rotating
pacote ou permitir quebras de linha nos nós.
\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}
Melhor ainda, evite duplicar informações. O topo da árvore diz que tudo isso são fluidos, então por que ficar se repetindo? Remover o excesso Fluids
pode deixar seu diagrama mais claro, mesmo que não reduza muito a largura.
Ou, se quiser ser mais aventureiro, você pode até virar nós recalcitrantes, embora eu sugira usar esse método apenas em casos apropriados (e duvido que este esteja entre eles).
\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}