我们如何强制一行证明环境遵守其相关的定理环境?

我们如何强制一行证明环境遵守其相关的定理环境?

在我的 LaTeX 文档中,一些证明只有一行:

\documentclass[letterpaper]{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{lipsum}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}
\newtheorem{property}[theorem]{Property}

\begin{document}

\lipsum[2-5]

\begin{property}
\lipsum[1]
\end{property}
\begin{proof}
By construction.
\end{proof}

\lipsum[6-8]

\end{document}

有时,证明会打印在页面顶部,这看起来真的很荒谬。将这种单行证明粘贴到其相关定理环境中的最佳方法是什么?

答案1

我认为你面临着两个不太理想的结果之间的权衡:要么将整个类定理环境(可能包含很多行,对吧?)移动到下一页,以避免类定理环境和相关的一次性证明环境之间出现分页符,或者将当前页面放大 1 或 2 行。您已经为前一个选项提供了解决方案;它的缺点是页面底部可能会出现相当大的“空洞”。要实现第二个选项,您可以编写类似

...
\begin{property}
\lipsum[1]
\end{property}
\enlargethispage{1\baselineskip} % or, possibly, "2\baselineskip"
\begin{proof}
By construction.
\end{proof}
...

无论如何,我不会在文章写作的最后才应用这一修改。

答案2

以下是 Barbara 建议的解决方案:

\documentclass[letterpaper]{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{needspace}
\usepackage{lipsum}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}
\newtheorem{property}[theorem]{Property}

\begin{document}

\lipsum[2-5]

\needspace{13\baselineskip}
\begin{property}
\lipsum[1]
\end{property}
\begin{proof}
By construction.
\end{proof}

\lipsum[6-8]

\end{document}

相关内容