森林の樹木の描画で円の半径を設定するにはどうすればよいですか?

森林の樹木の描画で円の半径を設定するにはどうすればよいですか?

forest パッケージを使用してツリーを生成するための次のコードがあります。

\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使用できます。tikzminimum sizetext widthfontfor 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}

ここに画像の説明を入力してください

関連情報