将 \Tree 与宏一起使用

将 \Tree 与宏一起使用

我正在使用qtree来生成一些树,例如使用这种语法\Tree [.foo bar ]

现在,我已经自动化了树的某些部分,但遇到了麻烦。当我将其放入[.foo bar ]宏中时,qt​​ree 不接受生成树:Use of \@subtree doesn't match its definition

我确信解决方案很简单,但我找不到它。

这是一个示例代码。

\documentclass{standalone}
\usepackage{tikz,qtree,tikz-qtree,tikz-qtree-compat}

\begin{document}
\newcommand{\inputtree}{[.foo bar ]}

%%%\Tree \inputtree %%This line doesn't compile
\Tree [.foo bar ]
\end{document} 

答案1

这类似于包含 tikz 节点的新命令,但这可能会产生误导。

您需要让\Tree“看到”括号,因此在 TeX 尝试处理之前必须扩展宏\Tree

\expandafter\Tree \inputtree

会做。

相关内容