命令名称中的数字?

命令名称中的数字?

可能重复:
定义包含数字的命令/缩写

我想知道是否可以定义一个名称包含数字的新命令?

例如\newcommand{\agent1}{agent~1}

或者即使\ag1ent末尾有一个数字也是有问题的。

我在常见问题解答中找不到答案。

答案1

lshort,第 1.3.3 节:

[命令] 以反斜杠开头\,然后是仅由字母组成的名称。命令名称以空格、数字或任何其他“非字母”结尾。

数字因此不是允许作为命令名称的一部分。

答案2

您始终可以使用:

\expandafter\def\csname agent1 \endcsname{agent 1}

并将其用作

\csname agent1 \endcsname

LaTeX 和 ConText 都提供了围绕此的包装器。LaTeX 使用\@namedef\@nameuse作为包装器,而 ConTeXt 使用\setvalue\getvalue作为包装器。

相关内容