如何防止環境的最後三行出現分頁?

如何防止環境的最後三行出現分頁?

我想創建一個環境,​​即內容不應允許在最後一段的最後三行中出現分頁符號。

如果環境內文字的最後三行到達頁邊框,則分頁符號應發生在從底部算起的第四行之後。

在環境之外,不應更改分頁符號的正常行為。

環境將僅包含普通文本,但左側和右側的邊距有所增加。也可能會出現一些內聯數學方程,但應該就是這樣。

\documentclass{scrartcl}

\usepackage{lipsum}

\newenvironment{env}{%
    \begin{addmargin}{2em}%
}{%
    \end{addmargin}
}%


\begin{document}
\lipsum[1-3]

\begin{env}
    \lipsum[1]
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This last lines should not be broken to the next page.
    This last lines should not be broken to the next page.
    This last lines should not be broken to the next page.
\end{env}
\end{document}

編輯:

我不確定,如果我能說清楚,我試圖實現什麼:我通常不知道最後幾行到底從哪裡開始。相反,它更像是防止寡婦,但不僅防止段落的最後一行打斷到下一頁,而且環境中的最後三行文本{env}應始終保持在一起,無論是在實際頁面上還是在下一頁。

答案1

您可以使用\widowpenalties;和

\widowpenalties 3 10000 10000 0

您在最後三行之間添加 10000 的罰分,而在前面的行之間不添加罰分。也可以看看如何避免段落內分頁?

\documentclass{scrartcl}

\usepackage{lipsum}

\newenvironment{env}
 {\begin{addmargin}{2em}\widowpenalties 3 10000 10000 0 }
 {\end{addmargin}}


\begin{document}
\lipsum[1-3]

\begin{env}
    \lipsum[1]
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This is just some filler text, to reach the page break.
    This last lines should not be broken to the next page.
    This last lines should not be broken to the next page.
    This last lines should not be broken to the next page.
\end{env}
\end{document}

在此輸入影像描述

相關內容