答案1
要添加的其余因素,4
只需将两个[2]
孩子添加到[4]
:
[4 [2][2]]
或使用格式
[4
[2]
[2]
]
那些是完全一样的。
对于叶子节点(没有子节点的节点),我们可以使用forest
内置检查
if n children = {0}{<true>}{<false>}
检查当前节点是否有0
子节点,如果有,则应用选项<true>
,否则<false>
。
由于您希望自动检查所有节点,我们将其放入for tree
。
由于您可能希望将其用于多棵树,我们将其打包在一个leaves as circles
键中,以便您只需将此选项作为环境选项添加即可forest
。(这些选项是不是[
和之间]
,与 LaTeX 中一样。)
我对这些节点进行了一些调整,我认为在这种情况下inner sep
默认值对于 s 来说有点太大了。circle
添加到这些无子叶的选项只是普通的 TikZ 节点选项。这现在提供了一种自动化方法。
forest
但是,对于每个子节点,您可以在节点内容之后添加 TikZ(或键) ,
:
[2, red]
将在树中的当前位置添加一个节点2
,其内容将为红色,就像 一样\node [red] {2};
。
代码
\documentclass{article}
\usepackage{forest}
\forestset{
leaves as circles/.style={
for tree={
if n children = {0}{circle, draw, inner sep=+.15em}{}
}
}
}
\begin{document}
\begin{forest} leaves as circles
[16
[2]
[8
[4
[2]
[2]
]
[2]
]
]
\end{forest}
\end{document}