\newcommand 中的数字不起作用

\newcommand 中的数字不起作用

我正在尝试使用所示选择的解决方案这里,因为我可以在我需要的别名中使用数字\newcommand。(不能在别名中使用数字直接让我感到……好吧,让我保持礼貌)。

无论如何,即使我在那里实现了上面的解决方案,我也会出现错误,代码无法编译。我的用法:

\newcommand{\H}[1]{H^{(1)}_{#1}}
And so \H1 is now equal to foo.

也许我遗漏了一些小事情(我是 tex 菜鸟),因此如果能提供任何帮助我将非常感激。

答案1

您的第一个问题是\H已经定义。(事实上,如果您查看编译日志,您会看到它显示“LaTeX 错误:命令 \H 已经定义。”)因此,您应该将其更改为其他名称,例如。(或者,您可以使用代替 来\Hankel覆盖先前的定义。但是,如果您这样做,请谨慎,因为文档的某些部分可能在您没有意识到的情况下依赖于旧定义。)\renewcommand\newcommand

您的第二个问题是上标 ( ^) 和下标 ( _) 仅在数学模式下有效。您可以使用字符切换数学模式$。因此,请尝试\Hankel1用替换$\Hankel1$。或者,您可以使宏在数学模式内外都有效,方法\ensuremath是像这样使用:

\newcommand{\Hankel}[1]{\ensuremath{H^{(1)}_{#1}}}

相关内容