[Tex/LaTex] moderncv: pagebreak does not adjust the text to the page

moderncvpage-breaking

I am using moderncv to write my resume. I have one job position entry which is split between two pages. I tried to use \pagebreak, although it did move the entry to the next page, the previous text was not adjusted with the extra space. Unlike described in this question.

Example code:

\cventry{DATE}{Position}{Company}{Location}{}{}
\cvlistitem{Role 1}
\cvlistitem{Role 2}
\cvlistitem{Role 3}
\cvlistitem{Role 4}

It overflows into the new page after Role 2.

Best Answer

Trying to reproduce your problem (you should have given a MWE), I start with:

\documentclass{moderncv}
\usepackage{lipsum}
\moderncvtheme[green]{casual}
\firstname{John}
\lastname{Doe}
%
\begin{document}
\maketitle
%
\section{Something or other}
\lipsum[1]
\lipsum[2]
\lipsum[3]
%
\section{Positions}
\cventry{DATE}{Position}{Company}{Location}{}{}
\cvlistitem{Role 1}
\cvlistitem{Role 2}
\cvlistitem{Role 3}
\cvlistitem{Role 4}
%
\end{document}

which produces:

split-role

Adding a \pagebreak before the positions' section gives:

break-unbalanced

Indeed the first page is ragged at the bottom. The reason is that the moderncv class chooses not to introduce vertical stretching lengths, neither between paragraphs (implicitly introduced by the \lipsum command here) nor at section headers and list items. Of course, you can introduce them yourself wherever you like:

\documentclass{moderncv}
\usepackage{lipsum}
\moderncvtheme[green]{casual}
\firstname{John}
\lastname{Doe}
%
\begin{document}
\maketitle
%
\section{Something or other}
\lipsum[1]\vfill
\lipsum[2]\vfill
\lipsum[3]\vfill
%
\pagebreak
%
\section{Positions}
\cventry{DATE}{Position}{Company}{Location}{}{}
\cvlistitem{Role 1}
\cvlistitem{Role 2}
\cvlistitem{Role 3}
\cvlistitem{Role 4}
%
\end{document}

and then you get something closer to what you want:

break-vfill

To do this automatically (i.e., to properly introduce stretching lengths between paragraphs, list items, section headers, etc.), I'm afraid you need to tweak the moderncv class quite a lot. Unless I'm missing something, it was clearly the author's intention to leave the pages ragged at the bottom. I suggest that you leave it like this, or you choose a different CV class that better suits your taste.

Related Question