[Tex/LaTex] How to Prevent Page Break in REVTeX 4.1

revtex

This question is related to preprint REVTeX 4.1 moves the body on the second page, which concerns having a page break after the title on the first page. The answer given to that question was that this is the intended behavior for the Physical Review Series.

However, I do not care whether or not this is the intended behavior. Unlike the author of that question, I am not using the REVTeX 4.1 package to produce a draft that will eventually be submitted to a journal produced by the American Physical Society. I have other reasons for using the package. Therefore, is there a way to not have a page break after the title page?

Here is a minimal example illustrating my problem. The following has no page breaks:

\documentclass[aps,prc,preprint,notitlepage]{revtex4-1}

\begin{document}

\title{Title}
\author{Name}
\date{\today}
\maketitle

A

A

A

A

A

A

A

A

A

A

A

A

A

A

A

A

A

A

A

A

A

A

A

A

A

A

A

%A % If this is uncommented, all the text goes onto the second page, which is not what I expect

\end{document}

But if I then uncomment the last line in the minimal example, all the text goes onto the second page. I would have expected the output to look the same as before, but now with a single "A" on the second page. How do I prevent this page break from happening?

Best Answer

When the preprint option is selected the following code is run by the macro that is meant to print the abstract (\frontmatter@abstract@produce):

\vskip200\p@\@plus1fil
\penalty-200\relax
\vskip-200\p@\@plus-1fil

This has the effect of adding 200pt of vertical space and then saying that this is a good place to break the page. I'm not expert enough, but this looks like a variation of Plain TeX's \filbreak (see https://tex.stackexchange.com/a/72787/87678 for a more reliable explanation than I can give).

Since you say that you don't care if this behaviour is intended, you can just patch this out of the macro and get the behaviour you want.

Add this to your preamble:

\usepackage{etoolbox}

\makeatletter
\patchcmd{\frontmatter@abstract@produce}
  {\vskip200\p@\@plus1fil
   \penalty-200\relax
   \vskip-200\p@\@plus-1fil}
  {}
  {}
  {}
\makeatother