定义扩展非静态的 \def 命令

定义扩展非静态的 \def 命令

我有两个新命令,例如

\def\test[#2]#1{
\test#1[#2]
}

\def\testOne[#2]{
#2 is given
}

如果我使用以下命令\test[xy]{One},它不起作用,因为\test#1[#2]扩展为\test{#1}[#2]。因此它扩展为\test{One}[xy]而不是testOne[xy]

有没有可能让它发挥作用?

答案1

UlrikeFischer 和 GustavoMezzetti 回答了这个(其实很简单)的问题。非常感谢。

代码必须是

\def\test[#1]#2{\csname test#2\endcsname[#1]}

相关内容