在文本和数学模式下有效的数学命令

在文本和数学模式下有效的数学命令

命令

\newcommand{\rsim}{\text{$\overset{r}{\sim}$ }}

在文本和数学模式下均可使用。话虽如此,但解决方法看起来有些丑陋,因为文本模式和数学模式都是针对单个字符调用的。

我会在长文档中多次使用该符号,并且我担心由于该解决方法,编译将花费更长的时间。

有没有更好的方法来定义数学和文本命令?

答案1

您将问题标记为,所以首先我会告诉你最佳做法是什么:

始终将数学符号视为数学

所以定义应该是

\newcommand{\rsim}{\overset{r}{\sim}}

We will use the symbol $\rsim$ to denote a very useful
equivalence relation, namely $a\rsim b$ if and only if
$a$ and $b$ are equally handsome.

如果你想打破数学符号总是被视为数学符号的“规则”,那么你可以这样做

\usepackage{xspace}
\newcommand{\rsim}{\ensuremath{\overset{r}{\sim}}\xspace}

上面的文字可以变成

We will use the symbol \rsim to denote a very useful
equivalence relation, namely $a\rsim b$ if and only if
$a$ and $b$ are equally handsome.

有什么好处?一点好处都没有。你甚至会失去语法着色。

何时不应使用 \ensuremath 作为数学宏?

相关内容