例如
$G^\times$
这里我们不需要写花括号,就像
$G^{\times}$
必须向新声明的命令添加什么内容,例如
\newcommand{\foo}{\ensuremath \times\ast 2}
以便
$G^\foo$
结果是相同的
$G^{\foo}$
谢谢
答案1
您可以通过加倍外括号来“保护”要在下标或上标中使用的字符串;当定义被“内化”时,只有最外面的一对括号会被剥离。因此
\newcommand{\foo}{{\ensuremath \times\ast 2}}
就会达到预期的效果。
然而:
\ensuremath
如果您总是要在下标/上标中使用它,那么您真的不需要它。从输入来看,它并不那么“信息丰富”,因为它不明显是
\foo
一个复合对象。在使用时省略括号会使人摆脱使用括号的习惯,这可能会使人陷入先前存在的“未受保护”的复合定义的麻烦,例如\neq
,定义为\def\neq{\not=}
(fontmath.lts
从中继承plain.tex
)。
编辑:<0
op 的评论指出,这在“将或 设置为上标时”不起作用。这是真的,并且没有办法解决这个问题,除非做出定义,例如\newcommand{\lszero}{{<0}}
,并使用它。(这就是原始问题所要求的。)