假设我想要一个命令,将文本放在A
文本下B
。但是我不想以\commandname{A,B}
时尚的方式编写命令参数。相反,我希望编写类似这样的代码:\put A \under B
使用 TeX 命令可以实现这样的构造吗?如何创建它们?
答案1
是的,你可以,但是你不应该:
\def\put#1\under#2{...something with #1 and #2...}
你可以这样称呼
\put A\under B
或者
\put A\under {BC}
如果第二个参数由多个标记组成,则无法避免使用括号。
然后你很快就会后悔这样做,因为你会发现这\put
已经是一个 LaTeX 命令,而你正在重新定义它。如果你说的是 Plain TeX,那么就没有问题。
请注意,如果你调用
\put A \under B
然后#1
将带有A
尾随空格,这可能是重要的,也可能不重要,这取决于各种因素。
您可以阅读分隔TeX 中的宏参数(texdoc texbytopic
在你的系统上或此链接) 或在 TeXbook 中。