Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

How do I vertically center the text on a page?

share|improve this question

2 Answers 2

up vote 19 down vote accepted

The memoir document class provides, among a lot of other excellent things, the vplace environment.

Try:

\begin{vplace}[0.7]
This is some text to be centred vertically.
\end{vplace}

[0.7] is an optional parameter specifying the ratio of space above to space below. The default value is [1].

share|improve this answer
    
This is great! I am using memoir, so I prefer this solution. –  Neil G Aug 27 '10 at 7:05
2  
Fantastic! I think we ought to start a memoir fanclub... –  Brent.Longborough Aug 27 '10 at 11:49
1  
I haven't tried your code above. But I am not sure your code will produce an exact vertically-centered object since I notice your code does not specify \topskip0pt right before \begin{vplace}[1]. For more details, see tex.stackexchange.com/questions/7286/… –  xport Dec 23 '10 at 2:30
    
@JoeCorneli Thanks for your suggested edit. I've left the brackets, simply to emphasise that it's an optional parameter, and reworded to clarify the rest. –  Brent.Longborough Mar 7 '13 at 9:52

This is what I found:

\begin{document}
\topskip0pt
\vspace*{\fill}
text
\vspace*{\fill}
%
\end{document}
share|improve this answer
14  
Your code above does NOT produce an exactly vertically centered object. You need to put \topskip0pt before the first \vspace*{\fill} to correct your code. For the details, see tex.stackexchange.com/questions/7286/… –  xport Dec 23 '10 at 2:24

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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