強制段落保留在其開始的同一頁上

強制段落保留在其開始的同一頁上

我正在為會議小冊子整理一些摘要;其中一些太長,從而導致分頁。

完成小冊子佈局後,我將編輯摘要以使其更短,並確保每個摘要僅佔一頁,但現在我想力量每個摘要都保留在自己的頁面內,即使這意味著文字將「出血」在當前頁面下方。

這在 LaTeX 中可以實現嗎?

答案1

您可以使用\filbreak(The TeXbook,第 111 頁)。

plain TeX 為頁面構成提供的最有趣的巨集稱為\filbreak。粗略地說,它的意思是“在此處斷開頁面並用空白填充底​​部,除非有空間容納更多副本,其本身後面是\filbreak。”因此,如果您將其放在\filbreak每個段落的末尾,並且段落不太長,則每個分頁符號都會出現在段落之間,TeX 將在每個頁面上容納盡可能多的段落。的準確意義\filbreak

\vfil\penalty-200\vfilneg

根據附錄B; TeX 原語的這種簡單組合產生了所需的結果:如果在 處進行中斷\penalty-200,則前面的內容\vfil將用空白填充頁面底部,並且\vfilneg在中斷後將被丟棄;但如果在罰球時沒有休息,則\vfil\vfilneg會相互抵消且無效。

這是一個實現。

\documentclass{article}
\usepackage{lipsum} % for mock text

\newenvironment{abs}[2]
 {% #1 = title, #2 = author
  \par\vspace{\bigskipamount}\filbreak
  {\centering\textbf{#1}\par\vspace{1ex}\textit{#2}\par\vspace{1ex}}%
 }
 {\par}

\begin{document}

\begin{abs}{A title}{John Doe}
\lipsum*[1][1-3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[2][1-3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[1][1-3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[2][1-3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[3]
\end{abs}

\begin{abs}{A title}{John Doe}
\lipsum*[3-5]
\end{abs}

\end{document}

在此輸入影像描述

相關內容