与 \ensuremath 相反:确保我*不*处于数学模式?

与 \ensuremath 相反:确保我*不*处于数学模式?

我想要一个与相反的宏\ensuremath:类似于\ensurenotmath,它确保它的参数是不是在数学模式下排版。是否有这样的宏,或者有实现它的方法?

就我的目的而言,仅检测数学模式就足够了,因此我可以执行以下操作:

\if\inmathmode
    % give sensible error message
\else
    % do the usual thing
\fi

有任何想法吗?

(或者:我试图\show\ensuremath了解它是如何工作的,但它受到保护。我该如何使用\show这样的宏?)

答案1

\ifmmode <do_something>\else <do_something_else>\fi

答案2

简单使用就\text{}应该可以确保您不处于数学模式?

Joseph 很好地指出了text{}水平模式不能不受限制,因此上述方法仅适用于不需要跨越行边界的短文本片段。我认为更好的解决方案是:

\parbox{\linewidth}{}

相关内容