
我正在為會議小冊子整理一些摘要;其中一些太長,從而導致分頁。
完成小冊子佈局後,我將編輯摘要以使其更短,並確保每個摘要僅佔一頁,但現在我想力量每個摘要都保留在自己的頁面內,即使這意味著文字將「出血」在當前頁面下方。
這在 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}