
Estoy organizando varios resúmenes para un folleto de conferencia; algunos de ellos son demasiado largos, lo que provoca un salto de página.
Después de terminar el diseño del folleto, voy a editar los resúmenes para hacerlos más cortos y asegurarme de que cada uno ocupe solo una página, pero por ahora me gustaríafuerzaque cada resumen permanezca dentro de su propia página incluso si esto significa que el texto "sangrará" debajo de la página actual.
¿Es esto posible en LaTeX?
Respuesta1
Puedes usar \filbreak
(The TeXbook, página 111).
La macro más interesante que proporciona TeX simple para la creación de páginas se llama
\filbreak
. Significa, aproximadamente, "Divida la página aquí y llene la parte inferior con un espacio en blanco, a menos que haya espacio para más texto seguido de\filbreak
". Por lo tanto, si lo coloca\filbreak
al final de cada párrafo, y si sus párrafos no son demasiado largos, cada salto de página ocurrirá entre párrafos y TeX cabrá tantos párrafos como sea posible en cada página. El significado preciso de\filbreak
es\vfil\penalty-200\vfilneg
según el Apéndice B; y esta simple combinación de primitivas de TeX produce el resultado deseado: si se toma una pausa en el
\penalty-200
, lo anterior\vfil
llenará la parte inferior de la página con espacios en blanco y se\vfilneg
descartará después de la pausa; pero si no se hace pausa en la penalización, las\vfil
y\vfilneg
se anularán entre sí y no tendrán efecto.
Aquí hay una implementación.
\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}