[Tex/LaTex] Vertical centering of text in a page when text contains enumerations

memoirvertical alignment

I'd like a vertically centered letter under letterhead, when a letter is less than a page. When a letter is more than a page, I'd like to achieve a minimum spacing between the letter and letterhead.

The format of the documents is:

[Letterhead]
– leading-space –
[Text]
– trailing-space –

I've thought to add \vfill at leading-space and trailing-space. This seems to accomplish what I want for letters of one page. However, when the document is over a page long the leading-space is inappropriately large – notably when there's an enumerate environment in the text.

I'd be grateful for thoughts and suggestions on how to accomplish this vertical spacing for both long and short (one page) letters.

Note that this is similar to Centering text on a page, except I'm not writing poetry. First, I'm using the memoir class, and second I'm not writing poetry – which would seem to make the verse package inappropriate.

I also note that the letter package accomplishes this sort of spacing, though I admit that I looked at the package and did not understand how it did so.

EDIT: The problem seems related to an enumerate. Example code is as follows:

\documentclass[oneside,11pt]{memoir}
\usepackage{lipsum}
\begin{document}
\lipsum[1] % Letterhead

 \begin{vplace}
 \lipsum[2] % Text
  \begin{enumerate}[1.] % more Text (albeit enumerated)
    \item{}abc
    \item{}ghi
  \end{enumerate}\par 
 \lipsum[3-6] % more Text
 \end{vplace}
\end{document}

If one removes the enumerated list, then the vertical spacing of the typesetting comes out as one would expect. However, with the enumerated list there's a very strange and large space between the Letterhead and first paragraph of Text.

What's causing the large space? Is it possible to eliminate it (without removing the enumerated content).

Best Answer

does this help?

\documentclass[oneside,11pt]{memoir}
\usepackage{lipsum}
\begin{document}
\lipsum[1] % Letterhead

 \begin{vplace}
 \lipsum[2] % Text

\bigskip\noindent
    \begin{minipage}{\linewidth}
    \begin{enumerate}[1.] % more Text (albeit enumerated)
    \item{}abc
    \item{}ghi
  \end{enumerate}
\end{minipage}  \par\bigskip
 \lipsum[3-6] % more Text
 \end{vplace}
\end{document}