似乎使用 \newcommand 时以数字开头的命令名称无效,但使用 \def 时有效。有什么理由不定义以数字开头的命令吗?例如:
\newcommand{\123MHz}{\SI{123}{MHz}\xspace} % Causes errors
\def\123MHz{\SI{123}{MHz}} % seems to work fine
答案1
据我所知,命令名称应该只使用字母,因此数字被视为有效的命令分隔符。
例如:
\newcommand{\foo123}{blabla} % should raise an error
\newcommand{\foo}[1]{Argument is #1 ;} % typing \foo123 will be typeset as : "Argument is 1 ;23"
我只能假设第一个定义被编译器拒绝,以免与第二个定义冲突。