如何防止列表和以下文本之间出现分页符?

如何防止列表和以下文本之间出现分页符?

如何防止列表和以下文本之间出现分页符?

\documentclass{report}

\usepackage{lipsum}

\begin{document}

\begin{itemize}
    \item \lipsum[1-3]
    \item \lipsum[5]
    \nopagebreak
\end{itemize}

\nopagebreak
\vspace{3\baselineskip}
\nopagebreak

\begin{center}
    \nopagebreak
    The end 
\end{center}

\end{document}

我想阻止“结束”结束符出现在其自己的页面上,即使是以将列表分成两个单独的页面为代价。

该过程需要在多个不同的文档上自动执行,因此不能根据具体情况手动调整,例如在列表最后一项之前添加 \pagebreak。

答案1

在列表的末尾(itemizeenumerate包括在内),LaTeX 会发出一些垂直调整,这些调整并不符合您的要求。因此,不要修补,\nopagebreak而是将您的作为列表的一部分包括在内,这样您就可以更好地控制分页限制:\enditemizeThe end

在此处输入图片描述

\documentclass{report}

\usepackage{lipsum}

\begin{document}

\begin{itemize}
  \item \lipsum[1-3]
  \item \lipsum[5]
  \nopagebreak
  \vspace{3\baselineskip}
  \makeatletter
  {\centering The end\hspace*{\@totalleftmargin}\par}
  \makeatother
\end{itemize}

\begin{center}
  The end
\end{center}

\end{document}

请注意,center环境本身是一个列表。因此,为了避免可能无法捕获的进一步影响,请使用{\centering ... \par}suffices 进行设置。但是,因为我们处于 中itemize,所以需要进行一些间距校正。

最终center环境仅仅包括显示水平位移是否符合要求。

相关内容