I'm working with small pages and I'll have one, two, or three short paragraphs per page.
I would like these paragraphs to be vertically centered and approximately-evenly spaced.
I am close with \setlength{\parskip}{\fill}
and defining a \page
command which is \vspace{\fill}\newpage
or \vfill\newpage
. However, I'm having trouble getting that equal amount of space before the first paragraph of each page.
Here's MWE demonstrating the issue
\vspace{\fill}
/\vfill
is discarded after a page-break, and so does nothing before the first paragraph, but \vspace*{\fill}
creates a space that is much larger than what \parskip
or \vspace{\fill}
later on the page.
\documentclass{article}
\usepackage[paperheight=88mm, paperwidth=62mm, margin=4mm, nomarginpar, showframe]{geometry}
\setlength{\parskip}{\fill}
\setlength{\parindent}{0pt}
\newcommand{\page}{\vspace{\fill}\newpage\vspace{\fill}}
\begin{document}
\page
This should be at approximately 50\%.
\page
This should be at approx 33\%.
This should be at approx 66\%.
\page
This should be at approx 25\%.
This should be at approx 50\%.
This should be at approx 75\%.
\page
\vspace*{\fill}
This page starts with an explicit \verb|\vspace*{\fill}|
You can see the first space is larger than the others.
This should be at 75\%.
\vspace{\fill}
\end{document}
Note, there are a few similar un-answered questions:
Adding space before and after paragraph How to add space before and after paragraph?
\begin{figure}[p] ... \end{figure}