
У меня есть такое дерево:
Это было создано с помощью этого кода:
\begin{figure}[h]
\centering
\begin{tikzpicture}
\node[circle,draw]{}
child{
node[circle,draw]{a}
}
child[missing]{};
\end{tikzpicture}
\end{figure}
Как мне увеличить размер корневого круга, чтобы даже когда он пустой, он выглядел как нижний круг? Или есть лучший способ создать эти деревья?
решение1
решение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}