Изменить размер узла дерева

Изменить размер узла дерева

У меня есть такое дерево:

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

Это было создано с помощью этого кода:

\begin{figure}[h]
        \centering
        \begin{tikzpicture}
            \node[circle,draw]{}
            child{
                node[circle,draw]{a}
            }
            child[missing]{};
        \end{tikzpicture}
    \end{figure}

Как мне увеличить размер корневого круга, чтобы даже когда он пустой, он выглядел как нижний круг? Или есть лучший способ создать эти деревья?

решение1

При использовании пакета forest:

\documentclass[margin=3mm]{standalone}
\usepackage{forest}

\begin{document}
    \begin{forest}
for tree = {circle,
            draw,
            minimum size=1.1em,
            inner sep=2pt,
            font=\small,
    l sep=9mm,
    s sep=6mm
            }
[
    [a]
    [, coordinate, no edge]
]   
    \end{forest}
\end{document}

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

решение2

Вы можете просто определить размер узлов дерева, чтобы иметь минимум. Поскольку, скорее всего, большинство ваших узлов также будут нарисованы в виде кругов, и у вас может быть более одного дерева, которое выглядит так, имеет смысл создать глобальный стиль для повторного использования, включая все эти параметры.

Если вы рисуете много деревьев, я бы настоятельно рекомендовал перейти на forest. Базовые инструменты рисования деревьев TikZ на самом деле не очень удобны: их синтаксис очень неуклюж, и они не выполняют автоматическую упаковку узлов.

\documentclass[a4paper,12pt]{article}
\usepackage{tikz}
\tikzset{my tree/.style={every node/.style={draw,circle,minimum size=1.5em}}}\begin{document}
        \begin{tikzpicture}[my tree]
            \node{}
            child{
                node{a}
            }
            child[missing]{};
        \end{tikzpicture}
\end{document}

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

решение3

Добро пожаловать в сообщество TeX.SE. Я буду использовать, как быстрое решение, хак, помещая в \node[circle,draw]{...}фантомный символ: \phantom{\small a}.

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

\documentclass[a4paper,12pt]{article}
\usepackage{tikz}
\usepackage{graphicx}

\begin{document}
\begin{figure}[h]
        \centering
        \begin{tikzpicture}
            \node[circle,draw]{\phantom{\small a}}
            child{
                node[circle,draw]{a}
            }
            child[missing]{};
        \end{tikzpicture}
    \end{figure}
\end{document}

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