确保使用 \newcommand 定义的宏始终在数学模式下呈现

确保使用 \newcommand 定义的宏始终在数学模式下呈现

我想定义一个命令\Lm,这样如果在数学环境中使用,它将被替换为\mathcal{L},但在数学环境之外使用时,它将被替换为$\mathcal{L}$。这样我就可以写出这样的句子:

$\langle \Lm, \R \rangle$ is a \emph{deductive system}
consisting of a language \Lm and a set of inference rules \R;

我知道如何分别编写这两种行为:\newcommand{\Lm}{$\mathcal{L}$},,\newcommand{\Lm}{\mathcal{L}}但我不确定是否有办法根据我所处的环境来决定使用哪一种。

答案1

对于这个特定问题,您可以将命令定义为

\newcommand{\Lm}{\ensuremath{\mathcal{L}}}

相关内容