我想定义一个命令\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}}}