如何在森林树绘图中设置圆半径?

如何在森林树绘图中设置圆半径?

我有以下代码使用森林包生成一棵树:

\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等:fontfor 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}

在此处输入图片描述

相关内容