数学环境判断错误

数学环境判断错误

命令\ifmmode在包的数学环境中判断错误amsmath。mwe 就像

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{gather}
  \ifmmode123\else456\fi
\end{gather}
\end{document}

在数学环境中,它应该123gather环境中产生。但结果却恰恰相反。类似的情况出现在等中。但在 中align,它产生了正确的结果。这是一个错误吗?或者如何修复它?谢谢帮助!eqarrayequation

答案1

您可以\protect调用\ifmmode。David 的评论提供了有关“为什么”的更多信息。

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{gather}
  \protect\ifmmode abc\else def\fi
\end{gather}
\end{document}

相关内容