2

I am organizing several abstracts for a conference booklet; some of them are too long, thus inducing a page break.

After finishing the booklet layout I am going to edit the abstracts to make them shorter and ensure that each occupies only one page, but for now I would like to force each abstract to stay inside its own page even if this means that the text will "bleed" below the current page.

Is this attainable in LaTeX?

2

You can use \filbreak (The TeXbook, page 111).

The most interesting macro that plain TeX provides for page make-up is called \filbreak. It means, roughly, “Break the page here and fill the bottom with blank space, unless there is room for more copy that is itself followed by \filbreak.” Thus if you put \filbreak at the end of every paragraph, and if your paragraphs aren’t too long, every page break will occur between paragraphs, and TeX will fit as many paragraphs as possible on each page. The precise meaning of \filbreak is

\vfil\penalty-200\vfilneg

according to Appendix B; and this simple combination of TeX’s primitives produces the desired result: If a break is taken at the \penalty-200, the preceding \vfil will fill the bottom of the page with blank space, and the \vfilneg will be discarded after the break; but if no break is taken at the penalty, the \vfil and \vfilneg will cancel each other and have no effect.

Here's an implementation.

\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}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.