\^
并\~
在文本模式下应用重音,但在数学模式下使用时都会出错。所以我考虑重新定义它们以供我自己使用,可能像这样:
\let\old@hat\^
\def\^{\ifmmode\mbox{\textasciicircum}\else\old@hat\fi}
(或者,如果我们已经加载了 amsmath,我们可以用 替换\mbox
。 )\text
除了对效率有轻微的影响,并且可能使一些阅读我文档来源的人感到困惑之外,还有其他我没有意识到的缺点吗?
答案1
这样做似乎没有什么好处。
除非您采取更多预防措施,否则\ifmmode
将在任何数组或对齐单元的开头做出错误的选择,可以使用合适的\protected\def
或\DeclareRobustCommand
或简单地以开始定义来修复\relax
,但即使这样,文本字符\mbox{\textasciicircum}
在数学中有用的情况也很少,它不会使用数学字体,并且上标的大小不正确。与数学重音\hat
或数学符号相比\wedge
。