我希望以下 TikZ qtree 对称:
\documentclass{article}
\usepackage{tikz-qtree}
\begin{document}
\Tree[.O [.N O R ] [.O N \fbox R ] [.R N O ]]
\end{document}
(因此,具体来说,从根到其子节点“O”的边是垂直的)。因为
\documentclass{article}
\usepackage{tikz-qtree}
\begin{document}
\Tree[.O [.N O R ] [.O N R ] [.R N O ]]
\end{document}
是对称,显然是\fbox
阻止了这一点;所以我认为是这样的:
\documentclass{article}
\usepackage{tikz-qtree}
\begin{document}
\Tree[.O [.N O R ] [.O N {\smash{\fbox R}\phantom R} ] [.R N O ]]
\end{document}
会起作用,但实际上似乎更差。(我认为这实际上与 qtree 没有任何关系,这就是我没有将它放在标签中的原因,但没有它我无法想出一个等效的例子。)
(编辑:根据@DavidCarlisle 的建议,我使所有代码片段都可编译。)
答案1
你可以欺骗 TeX 只看到一个与方框字符宽度相同的方框:
\documentclass{article}
\usepackage{tikz-qtree}
\usepackage{calc}
\begin{document}
\Tree[.O [.N O R ] [.O N \makebox[\widthof{R}][c]{\fbox{R}} ] [.R N O ]]
\end{document}