我正在使用 制作一棵树TikZ-qtree
,我需要在边缘上放置标签。现在它看起来像这样:
\begin{tikzpicture}
\Tree
[.$\alpha$
\edge node[left, pos=.2]{\scriptsize $p$};
[.\phantom{$\beta$} ]
\edge node[left, pos=.6]{\scriptsize $a$};
[.$\alpha$ ]
\edge node[right, pos=.2]{\scriptsize $b$};
[.$\beta$ ]
]
\end{tikzpicture}
现在,“a”距离中心边缘相当远,“b”距离最右边缘相当近:
理想情况下,“a”应该更靠近中间边缘,“b”应该离右边缘稍远一些。有人知道如何实现这一点吗?
答案1
更好地控制这些node
s 的位置的一种方法是将它们定义为node
之外的 s \Tree
,然后\usetikzlibrary{positioning}
。此库可让您轻松地将node
s 相对于彼此放置。因此,我将树的最顶部定义为node
,并定义了其他部分相对于它的位置:
\documentclass{standalone}
\usepackage{tikz-qtree}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\Tree
[.\node (alpha) {$\alpha$};
[.\phantom{$\beta$} ]
[.$\alpha$ ]
[.$\beta$ ]
]
\node [below left=.1cm of alpha, xshift=.05cm] {\scriptsize $p$};
\node [below=.2cm of alpha,xshift=-.1cm] {\scriptsize $a$};
\node [below right=.1cm of alpha, xshift=-.05cm] {\scriptsize $b$};
\end{tikzpicture}
\end{document}
希望上面的代码能让您初步了解如何使用库控制节点的放置positioning
。您可能还想查看TikZ & PGF
手动的(第 185 页),特别是当您希望进一步调整这些节点的位置时。