更改树的节点大小

更改树的节点大小

我有这棵树:

在此处输入图片描述

它是用以下代码创建的:

\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}

相关内容