ntheorem 的 break 环境和 amsmath 环境之间的顽固空线

ntheorem 的 break 环境和 amsmath 环境之间的顽固空线

我使用以下样式ntheorem来设置我的证明nonumberbreak

\documentclass{article}
\usepackage{amsmath}
\usepackage[amsmath]{ntheorem}
\theoremstyle{nonumberbreak}
\newtheorem{proof}{Proof}

所以如果我写

\begin{proof}
One line
\begin{align*}
\text{One equation}
\end{align*}
\end{proof}

我得到了所需的输出(下图左边的输出)。

但在某些情况下,我的证明会立即从一些数学环境开始,例如

\begin{proof}
\begin{align*}
\text{One equation}
\end{align*}
\end{proof}

~在这种情况下,我得到与以前完全相同的间距,就像我用或类似的东西替换了“一行”一样。

\abovedisplayskip我可以通过设置为(下图第三张)来减少垂直空间0px,但仍然剩下一行。

三种变体

我怎样才能去掉这条线?

答案1

您可以执行以下操作

\documentclass{article}
\usepackage{amsmath}
\usepackage[amsmath]{ntheorem}
\theoremstyle{nonumberbreak}
\newtheorem{proof}{Proof}

\begin{document}
So if I write

\begin{proof}
\mbox{aaa}\\*[-\dimexpr2\baselineskip+\abovedisplayskip\relax]\mbox{bbb}
\begin{align*}
\text{One equation}
\end{align*}
zzz
\begin{align*}
\text{One equation}
\end{align*}
zzz
\end{proof}

\end{document}

它只会影响一个等式上方的空间(您可能希望省略aaabbb并仅\mbox{}在实际文档中使用)。

事实上,需要这样的扭曲可能会被理解为一种暗示,也许这不是预期的用法,并且至少Consider the equation在等式之前说出来会让 egreg 更高兴。

相关内容