![如何在森林树绘图中设置圆半径?](https://linux22.com/image/353793/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%A3%AE%E6%9E%97%E6%A0%91%E7%BB%98%E5%9B%BE%E4%B8%AD%E8%AE%BE%E7%BD%AE%E5%9C%86%E5%8D%8A%E5%BE%84%EF%BC%9F.png)
我有以下代码使用森林包生成一棵树:
\documentclass{standalone}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree={circle,draw}
[A
[B
[C
[E]
[F]]
[D]]
[G
[H]
[I
[J]
[K
[L]
[M]]]]]
\end{forest}
\end{document}
最终的树形图如下所示:
您可能会注意到,每个节点周围的圆圈大小略有不同。这在相邻节点 H 和 I 以及 L 和 M 的情况下最为明显。
有人可能会说这是理想的行为,因为它确保每个节点上的字母被相同数量的填充包围。但是,我认为这看起来很糟糕,我希望所有圆的半径都相同。
我尝试了各种选项来控制圆圈大小,但都没有成功。我怎样才能让所有圆圈都具有相同的大小?此外,我认为现在的圆圈有点太大了,所以我想减少圆圈内的填充。如果我可以在选项中设置它,那就太好了,这样我就可以尝试不同的值来查看哪个看起来最好。
答案1
由于forest
基于,您可以在森林节点样式定义中tikz
使用tikz
形状的定义如
minimum size
、、text width
等:font
for tree={...}
\documentclass[margin=5mm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[edges]{forest}
\begin{document}
\begin{forest}
for tree={circle, draw,
minimum size=1.5em, % <-- added
inner sep=1pt} % <-- added
[A
[B
[C
[E]
[F]]
[D]]
[G
[H]
[I
[J]
[K
[L]
[M]]]]]
\end{forest}
\end{document}