命令\ifmmode
在包的数学环境中判断错误amsmath
。mwe 就像
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{gather}
\ifmmode123\else456\fi
\end{gather}
\end{document}
在数学环境中,它应该123
在gather
环境中产生。但结果却恰恰相反。类似的情况出现在等中。但在 中align
,它产生了正确的结果。这是一个错误吗?或者如何修复它?谢谢帮助!eqarray
equation
答案1
您可以\protect
调用\ifmmode
。David 的评论提供了有关“为什么”的更多信息。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{gather}
\protect\ifmmode abc\else def\fi
\end{gather}
\end{document}