在 \raggedbottom 上下文中将一个段落的最后一行与下一个段落或列表的第一行保持在一起

在 \raggedbottom 上下文中将一个段落的最后一行与下一个段落或列表的第一行保持在一起

我经常用段落的最后一行引入新文本,并以冒号结尾。也许前后的文本是普通文本(示例中的第 1 页和第 2 页之间),或者后面的文本是列表(示例中的第 3 页和第 4 页之间),或者第一段位于列表中,而下一段位于嵌套列表中(示例中的第 5 页和第 6 页之间)。我想将第一段的最后一行与后续段落放在一起,因为最后一行通常是介绍性的。我该怎么做?(我知道\Needspace,但我不知道如何在这里使用它来解决问题。)

我认为这个问题在\raggedbottom上下文中是最有意义的;这也是我需要解决这个问题的地方。以下是一个例子:

\documentclass{memoir}
\usepackage{lipsum}
\raggedbottom

\begin{document}

\lipsum[1-4]
Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text:

Some filler text. Some filler text.

\newpage

\lipsum[1-4]
Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text:

\begin{itemize}
\item Some text.
\item Some text.
\item Some text.
\end{itemize}

\newpage

\begin{itemize}
\item \lipsum[1-4]
\item Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Now a nested list:
    \begin{itemize}
    \item Some text.
    \item Some text.
    \item Some text.
    \end{itemize}
\end{itemize}

\end{document}

在这里,我特别想将第 1、3 和 5 页的最后一行分别与第 2、4 和 6 页的第一行放在一起。\nopagebreak在第一种情况下有效,但在两种列表情况下无效。

答案1

Some filler text. Some filler text. Some filler text. Some filler text. Some filler text. Some filler text:
\widowpenalty=-5000 \nopagebreak
\begin{itemize}
\item Some text.
\item Some text.
\item Some text.
\end{itemize}

推动

Some filler text:

回到第 4 页的顶部。负寡妇惩罚鼓励而不是阻止在部分段落的最后一行之前断行,并\nopagebreak阻止它在列表之前断行。

相关内容