tikz-qtree 中叶文本内的节点?

tikz-qtree 中叶文本内的节点?

我试图在 tikz-qtree 树中仅围绕部分文本绘制一个框,但我能做的最接近的是:

\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-qtree}
\begin{document}

\begin{tikzpicture} \tikzset{every tree node/.style={align=center, anchor=north}}
\Tree
 [.parent
   [.child \node[draw]{boxed}; unboxed ]
 ]
\end{tikzpicture}
\end{document}

不幸的是,这会生成“boxed”和“unboxed”作为“child”的子节点,而我更希望它们成为“child”中文本的一部分。我一直在节点上做无线标签,如下所示 -

[.{child \\ label} ]

所以我希望能够做这样的事情 -

[.{child \\ \node[draw]{boxed};unboxed} ]

在“child”下的一行中给出“[boxed]unboxed”。问题是将节点放在 [.{} ] 元素内会导致未定义的控制序列错误。有没有办法解决这个问题,或者我是否必须将整个东西放在一个装箱节点内?

答案1

也许我误解了这个问题,这就是你想要的东西吗?

\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-qtree}
\begin{document}

\begin{tikzpicture} \tikzset{every tree node/.style={align=center, anchor=north}}
\Tree
 [.parent
   [.\node (a) {child \\ \fbox{boxed} unboxed}; ]
 ]
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容