避免定理环境的头和尾分成两页

避免定理环境的头和尾分成两页

这是我的上一个问题

我的一些定理环境包括其上方和下方的水平线。

如果定理打印在页面末尾,如何避免底线在下一页显得孤立? 就像这样:

在此处输入图片描述

底部hrule是与第二页显示的备注相关的唯一对象,我想避免它。我该怎么做?

\documentclass{book}
\usepackage{amsthm,thmtools,needspace}
\declaretheoremstyle[
        headfont=\normalfont\bfseries, 
        notefont=\normalfont\bfseries,
        headpunct={},
        postheadspace=\newline,
        bodyfont = \normalfont,
        preheadhook=\vspace{\dimexpr \baselineskip + \parskip}\hrule \vspace{-\parskip},
        postfoothook= \hrule\vspace*{\dimexpr \parskip},
        spaceabove=8pt,
        spacebelow=8pt
]{mystyle2}
\declaretheorem[style=mystyle2]{remark}
\begin{document}
\chapter{Introduction}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Urna id volutpat lacus laoreet. Pulvinar pellentesque habitant morbi tristique. Amet aliquam id diam maecenas. Proin libero nunc consequat interdum. Viverra suspendisse potenti nullam ac. Et molestie ac feugiat sed lectus vestibulum. Id donec ultrices tincidunt arcu non sodales neque sodales. Cras pulvinar mattis nunc sed blandit libero volutpat. Aliquet risus feugiat in ante metus dictum at. Ac turpis egestas integer eget aliquet. Nunc mi ipsum faucibus vitae. Duis ut diam quam nulla porttitor massa. Sollicitudin tempor id eu nisl nunc mi ipsum faucibus vitae. Proin nibh nisl condimentum id.

Dui vivamus arcu felis bibendum ut tristique et egestas quis. Tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Bibendum arcu vitae elementum curabitur. Nibh tortor id aliquet lectus. Fermentum odio eu feugiat pretium. Morbi quis commodo odio aenean sed adipiscing diam. Ac tincidunt vitae semper quis lectus nulla at. Eu facilisis sed odio morbi quis commodo odio aenean sed. Sagittis nisl rhoncus mattis rhoncus urna neque viverra justo nec. Tellus elementum sagittis vitae et leo duis. Suspendisse faucibus interdum posuere lorem ipsum dolor sit amet. Et magnis dis parturient montes nascetur ridiculus mus mauris.

Nulla posuere sollicitudin aliquam ultrices sagittis orci a scelerisque. Facilisi nullam vehicula ipsum a. Vitae tempus quam pellentesque nec nam aliquam. Tristique risus nec feugiat in fermentum posuere. Pulvinar elementum integer enim neque volutpat. Nunc sed blandit libero volutpat sed cras. Purus ut faucibus pulvinar elementum integer enim neque volutpat ac. Ut faucibus pulvinar elementum integer. Nunc sed augue lacus viverra vitae. Varius duis at consectetur lorem donec massa sapien faucibus. Id venenatis a condimentum vitae sapien. Sit amet mauris commodo quis imperdiet massa tincidunt. 
\begin{remark}
This remark should not be split into twp pages!
\end{remark}
Gravida dictum fusce ut placerat orci nulla pellentesque dignissim enim. Mattis rhoncus urna neque 
\end{document}

答案1

我认为在底部之前为胶水添加一些可收缩性\hrule将使 TeX 的工作更容易。正如 Donald Knuth 在 TeX 书第 15 章第一段中所述:

“如果页面上的垂直粘连线几乎没有或完全没有伸缩能力,TEX 通常无法选择从哪里开始新的页面:相反,如果粘连线的变化太大,结果会看起来很糟糕,因为不同的页面会太不规则。因此,如果你对页面的外观很挑剔,你可以对手稿进行一些重写,直到你达到适当的平衡,或者你可能需要像第 \looseness14 章中描述的那样摆弄:没有一个自动化系统能够像你一样做到这一点“”。

在底部之后使用\vspace而不是并添加收缩性可以解决这个问题,但您可能更喜欢不同的胶水,只需摆弄参数直到获得所需的平衡。\vspace*\hrule1pt

以下是代码:

\documentclass{book}
\usepackage{amsthm,thmtools,needspace}
\declaretheoremstyle[
headfont=\normalfont\bfseries, 
notefont=\normalfont\bfseries,
headpunct={},
postheadspace=\newline,
bodyfont = \normalfont,
preheadhook=\vspace{\dimexpr \baselineskip + \parskip}\hrule \vspace{-\parskip},
postfoothook= \hrule\vspace{\dimexpr \parskip},
spaceabove=8pt,
spacebelow=8pt minus 1pt
]{mystyle2}
\declaretheorem[style=mystyle2]{remark}
\begin{document}
    \chapter{Introduction}
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Urna id volutpat lacus laoreet. Pulvinar pellentesque habitant morbi tristique. Amet aliquam id diam maecenas. Proin libero nunc consequat interdum. Viverra suspendisse potenti nullam ac. Et molestie ac feugiat sed lectus vestibulum. Id donec ultrices tincidunt arcu non sodales neque sodales. Cras pulvinar mattis nunc sed blandit libero volutpat. Aliquet risus feugiat in ante metus dictum at. Ac turpis egestas integer eget aliquet. Nunc mi ipsum faucibus vitae. Duis ut diam quam nulla porttitor massa. Sollicitudin tempor id eu nisl nunc mi ipsum faucibus vitae. Proin nibh nisl condimentum id.
    
    Dui vivamus arcu felis bibendum ut tristique et egestas quis. Tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Bibendum arcu vitae elementum curabitur. Nibh tortor id aliquet lectus. Fermentum odio eu feugiat pretium. Morbi quis commodo odio aenean sed adipiscing diam. Ac tincidunt vitae semper quis lectus nulla at. Eu facilisis sed odio morbi quis commodo odio aenean sed. Sagittis nisl rhoncus mattis rhoncus urna neque viverra justo nec. Tellus elementum sagittis vitae et leo duis. Suspendisse faucibus interdum posuere lorem ipsum dolor sit amet. Et magnis dis parturient montes nascetur ridiculus mus mauris.
    
    Nulla posuere sollicitudin aliquam ultrices sagittis orci a scelerisque. Facilisi nullam vehicula ipsum a. Vitae tempus quam pellentesque nec nam aliquam. Tristique risus nec feugiat in fermentum posuere. Pulvinar elementum integer enim neque volutpat. Nunc sed blandit libero volutpat sed cras. Purus ut faucibus pulvinar elementum integer enim neque volutpat ac. Ut faucibus pulvinar elementum integer. Nunc sed augue lacus viverra vitae. Varius duis at consectetur lorem donec massa sapien faucibus. Id venenatis a condimentum vitae sapien. Sit amet mauris commodo quis imperdiet massa tincidunt. 
    \begin{remark}
        This remark should not be split into twp pages!
    \end{remark}
    Gravida dictum fusce ut placerat orci nulla pellentesque dignissim enim. Mattis rhoncus urna neque 
\end{document}

答案2

一种快捷方式是使用minipage

\begin{minipage}{\textwidth}
\begin{remark}
This remark should not be split into twp pages!
\end{remark}
\end{minipage}

相关内容