忽略盒子的实际高度和宽度

忽略盒子的实际高度和宽度

我希望以下 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}

在此处输入图片描述

相关内容