我正在尝试使用所示选择的解决方案这里,因为我可以在我需要的别名中使用数字\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}}}