如何使宏需要数学模式?

如何使宏需要数学模式?

我已定义一个宏,希望它只在数学模式下使用。为了实现这一点,我希望该宏在数学模式之外使用时会抛出一条错误消息。使宏仅具有数学模式的最简单方法是什么?

答案1

您可以使用\ifmmode它来检查您是否处于数学模式,如果不是,则触发错误。尝试在数学模式之外使用它会产生以下结果:

尝试在数学模式之外使用 \MyMathModeMacro。

请参阅我的序言文档以获取解释。

输入 H 即可获得紧急帮助。

l.16 \MyMathModeMacro %<---这会产生错误?

笔记:

代码:

\documentclass{article}
\makeatletter
\DeclareRobustCommand{\MyMathModeMacro}{%
    \ifmmode
         E = m c^2
    \else
        \GenericError{\space\space\space\space}
            {Attempt to use \@backslashchar MyMathModeMacro outside of math mode}
            {See my preamble documentation for explanation.}
            {Need to use either use inline or display math.}%
    \fi
}
\makeatother

\begin{document}
$\MyMathModeMacro$

\MyMathModeMacro% <--- This will produce an error
\end{document}

相关内容