
Ich organisiere mehrere Abstracts für eine Konferenzbroschüre. Einige davon sind zu lang und erfordern daher einen Seitenumbruch.
Nachdem ich das Layout der Broschüre fertiggestellt habe, werde ich die Abstracts bearbeiten, um sie kürzer zu machen und sicherzustellen, dass sie jeweils nur eine Seite einnehmen. Vorerst möchte ich jedochGewaltJede Zusammenfassung sollte auf einer eigenen Seite bleiben, auch wenn dies bedeutet, dass der Text unter die aktuelle Seite „durchläuft“.
Ist dies in LaTeX möglich?
Antwort1
Sie können \filbreak
(Das TeXbook, Seite 111) verwenden.
Das interessanteste Makro, das einfaches TeX für den Seitenumbruch bereitstellt, heißt
\filbreak
. Es bedeutet ungefähr: „Brechen Sie die Seite hier um und füllen Sie den unteren Teil mit Leerraum, es sei denn, es ist Platz für weiteren Text, der selbst von gefolgt wird\filbreak
.“ Wenn Sie also\filbreak
am Ende jedes Absatzes Einfügen und Ihre Absätze nicht zu lang sind, wird jeder Seitenumbruch zwischen den Absätzen erfolgen und TeX wird so viele Absätze wie möglich auf jede Seite bringen. Die genaue Bedeutung von\filbreak
ist\vfil\penalty-200\vfilneg
gemäß Anhang B; und diese einfache Kombination von TeX-Grundelementen erzeugt das gewünschte Ergebnis: Wenn an der ein Umbruch erfolgt
\penalty-200
, füllt das vorhergehende\vfil
den unteren Seitenrand mit Leerraum, und das\vfilneg
wird nach dem Umbruch verworfen; wenn an der Strafe jedoch kein Umbruch erfolgt, heben sich die\vfil
und gegenseitig auf und haben keine Wirkung.\vfilneg
Hier ist eine Implementierung.
\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}