
Estou organizando vários resumos para um livreto de conferência; alguns deles são muito longos, induzindo uma quebra de página.
Depois de terminar a diagramação do livreto vou editar os resumos para torná-los mais curtos e garantir que cada um ocupe apenas uma página, mas por enquanto gostaria deforçacada resumo permaneça dentro de sua própria página, mesmo que isso signifique que o texto irá "sangrar" abaixo da página atual.
Isso é possível em LaTeX?
Responder1
Você pode usar \filbreak
(The TeXbook, página 111).
A macro mais interessante que o TeX simples fornece para a criação de páginas é chamada
\filbreak
. Significa, aproximadamente, “Quebre a página aqui e preencha a parte inferior com espaço em branco, a menos que haja espaço para mais cópias seguidas por\filbreak
.” Assim, se você colocar\filbreak
no final de cada parágrafo, e se seus parágrafos não forem muito longos, cada quebra de página ocorrerá entre os parágrafos, e o TeX caberá tantos parágrafos quanto possível em cada página. O significado preciso de\filbreak
é\vfil\penalty-200\vfilneg
de acordo com o Apêndice B; e esta simples combinação de primitivas do TeX produz o resultado desejado: Se uma pausa for feita no
\penalty-200
, o anterior\vfil
preencherá a parte inferior da página com espaço em branco, e o\vfilneg
será descartado após o intervalo; mas se nenhuma pausa for feita na penalidade, os\vfil
e\vfilneg
se cancelarão e não terão efeito.
Aqui está uma implementação.
\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}