可以通过这种方式重新定义 \alpha 吗?

可以通过这种方式重新定义 \alpha 吗?

我正在考虑做一些疯狂的事情,也就是说,我想通过以下方式定义一个“新命令”

\renewcommand{\alpha}{\ensuremath{\alpha}}

这样以后在文本模式下我就可以\alpha代替$\alpha$(实际的宏会有\xspace,但我们忽略它。)。

问题是,我如何让系统知道,当它替换时\alpha使用\ensuremath{\alpha}“内置”宏\alpha,而不是更新的宏,从而不会陷入无限循环?

或者,有没有办法确保宏只“扩展”一次?

答案1

我不确定你为什么要这样做,但无论如何,以下是方法

\let\oldalpha\alpha
\renewcommand{\alpha}{\ensuremath{\oldalpha}}

您所查询的方法会导致无限循环。\let本质上是别名前一个含义\alpha将允许您稍后重新定义它。

相关内容