Как задать радиус окружности на чертеже дерева в лесу?

Как задать радиус окружности на чертеже дерева в лесу?

У меня есть следующий код для генерации дерева с использованием пакета 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, вы можете использовать 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}

введите описание изображения здесь

Связанный контент