数学环境:允许空行吗?

数学环境:允许空行吗?

编译以下文档将引发错误

Paragraph ended before \align was complete

Displaymath should end with $$

因为数学环境/displaymath中不允许 par-break。

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
Empty 

are not allowed.
\end{align}
$$
Empty lines

are not allowed
$$
\end{document}

然而,在编辑时,我经常在按下回车键(创建新行)之后和添加任何内容之前意外地进行编译,因此我正在寻找一种允许在数学模式下分段的方法,最好忽略它们。

仅供比较,如果我只需要 display-math 而不需要 AMS 环境,那么可行的解决方案是

\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\begin{document}
\everydisplay{\def\par{\mathbf{\color{red}-forgotten-par-}}}
$$ 
Empty\,lines

are\,now\,allowed

but\,you\,get\,a\,reminder
$$
\end{document}

是否存在适用于所有常见数学环境的解决方案?

答案1

我不推荐它,但是如果 luatex 是一个选项,它允许禁用这两个错误而无需对宏进行任何更改。

\suppressmathparerror = 1
\suppresslongerror = 1
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
Empty 

are not allowed.
\end{align}
$$
Empty lines

are not allowed
$$
\end{document}

答案2

这是对问题第一个版本的回答。

你在自找麻烦。部分解决方案,为金钱而工作,但没有amsmath用于基于 - 的环境。请查看并永远不要使用它

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\let\normalpar=\par
\def\par{\ifmmode \else\normalpar \fi}
\begin{align}
Empty 
%
are not allowed.
\end{align}
$$
Empty lines

are not allowed
$$
\end{document}

相关内容