我正在尝试绘制森林。我能够向边缘添加单个标签,但我不知道如何添加第二个标签。
这是我的代码:
\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}
理想情况下,我需要能够创建一棵树,该树将同时具有来自两棵树的标签。我猜有一个我不知道的简单命令。感谢大家的帮助。
答案1
我认为end
应该是,at end
因为前者会给出错误。如果不是,显然您可以在定义后将其改回来。
您可以根据需要将任意数量的节点添加到单个 中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$}}]
或者,您可以多次调用该选项edge label+
以避免覆盖之前的使用。
[,l*=2,edge label={node[midway,right]{$l_{1}$}},edge label+={node[at end,below]{$l_3$}}]
完整代码:
\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}
抱歉没有图片。目前 Okular-on-X 有一个错误,我还没有找到解决方法。