我正在使用qtree
来生成一些树,例如使用这种语法\Tree [.foo bar ]
。
现在,我已经自动化了树的某些部分,但遇到了麻烦。当我将其放入[.foo bar ]
宏中时,qtree 不接受生成树: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
会做。