在数学模式中重新定义 \^ 和 \~?

在数学模式中重新定义 \^ 和 \~?

\^\~在文本模式下应用重音,但在数学模式下使用时都会出错。所以我考虑重新定义它们以供我自己使用,可能像这样:

\let\old@hat\^
\def\^{\ifmmode\mbox{\textasciicircum}\else\old@hat\fi}

(或者,如果我们已经加载了 amsmath,我们可以用 替换\mbox。 )\text

除了对效率有轻微的影响,并且可能使一些阅读我文档来源的人感到困惑之外,还有其他我没有意识到的缺点吗?

答案1

这样做似乎没有什么好处。

除非您采取更多预防措施,否则\ifmmode将在任何数组或对齐单元的开头做出错误的选择,可以使用合适的\protected\def\DeclareRobustCommand或简单地以开始定义来修复\relax,但即使这样,文本字符\mbox{\textasciicircum}在数学中有用的情况也很少,它不会使用数学字体,并且上标的大小不正确。与数学重音\hat或数学符号相比\wedge

相关内容