Estou tentando desenhar florestas. Consigo adicionar um único rótulo às bordas, mas não sei como adicionar um segundo.
Aqui está o código que tenho:
\documentclass{article}
\usepackage{tikz}
\usepackage[linguistics]{forest}
\usetikzlibrary {decorations.pathreplacing}
\begin{document}
\begin{figure}
\centering
\begin{forest}
for tree={
coordinate, calign=fixed edge angles, calign angle=25, edge=thick,
{}
}
[
[,l*=2,edge label={node[midway,right]{$l_{1}$}}]
[
[,l*=2,edge label={node[end, below]{$l_{2}$},node[end, below]{0}},edge label={node[midway,left]{0}}]
[,edge label={node[end, below]{$l_{3}$}},edge label={node[midway,right]{1}}]
]
]
\end{forest}
\begin{forest}
for tree={
coordinate, calign=fixed edge angles, calign angle=25, edge=thick,{}}
[
[,no edge]
[,no edge]
]
\end{forest}
\begin{forest}
for tree={
coordinate, calign=fixed edge angles, calign angle=25, edge=thick,
{}
}
[
[,l*=2,edge label={node[end, below]{$l_{3}$}}]
[
[,l*=2,edge label={node[end, below]{$l_{1}$}}]
[,edge label={node[end, below]{$l_{2}$}}]
]
]
\end{forest}
\end{figure}
\end{document}
Idealmente, preciso ser capaz de criar uma árvore que tenha rótulos das duas árvores simultaneamente. Meu palpite é que existe um comando simples que não conheço. Obrigado por toda a ajuda.
Responder1
Presumo que end
deveria ser, at end
pois o primeiro dá um erro. Caso contrário, obviamente você pode alterá-lo novamente assim que estiver definido.
Você pode adicionar quantos nós desejar em um único arquivo edge label
.
[,l*=2,edge label={node[at end, below]{$l_{2}$}node[at end, right]{0}node[midway,left]{0}node [at end,left]{$l_2$}}]
Como alternativa, você pode invocar a opção várias vezes usando edge label+
para evitar a substituição de usos anteriores.
[,l*=2,edge label={node[midway,right]{$l_{1}$}},edge label+={node[at end,below]{$l_3$}}]
Código completo:
\documentclass[border=5pt]{standalone}
\usepackage[linguistics]{forest}
\usetikzlibrary {decorations.pathreplacing}
\begin{document}
\begin{forest}
for tree={
coordinate, calign=fixed edge angles, calign angle=25, edge=thick,
{}
}
[
[,l*=2,edge label={node[midway,right]{$l_{1}$}},edge label+={node[at end,below]{$l_3$}}]
[
[,l*=2,edge label={node[at end, below]{$l_{2}$}node[at end, right]{0}node[midway,left]{0}node [at end,left]{$l_2$}}]
[,edge label={node[at end, below]{$l_{3}$}node[midway,right]{1}node[at end,left]{$l_2$}}]
]
]
\end{forest}
\end{document}
Desculpas pela falta de imagem. Atualmente, o Okular-on-X tem um bug e ainda não encontrei uma solução alternativa.