TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to vertically center my title page. I have tried code like this, but it does not work:

  • I am using ConTeXt, so the solutions at Vertically center text on a page did not work, however, solutions in plain TeX will be fine too.
  • The documentation on \setupalign at the ConTeXt wiki suggests there might be the option lohi, but it seems only to center content vertically when placed inside a frame.

How can I vertically center content on a page?

share|improve this question
Have you tried makeup which is the standard method to write title pages in ConTeXt – Aditya May 6 '12 at 4:29
You are missing a \dontleavehmode immediately before the first \vfill. It is required because the top of a page is a special situation in vmode. – Philipp Gesang May 6 '12 at 7:43
up vote 13 down vote accepted

As Aditya already answered, the most common way is to use \startstandardmakeup, as in:

\startalignment[center] % or \centerline{...}
    {\definedfont[Bold at 40pt] Title}
document text
share|improve this answer
Don't use explicit align macros. You can use: \setupmakeup[align=middle]. – Aditya May 7 '12 at 1:06
@Aditya Could you explain why not to use explicit align macros? I am an absolute ConTeXt beginner. – Serge Stroobandt Sep 1 '13 at 18:31
@SergeStroobandt: Because it is bad style. I will prefer using \starttitlepagemakeup Title \stoptitlepagemakeup rather than what is described in the solution (where titlepage makeup is appropriately defined). – Aditya Sep 1 '13 at 18:44
@SergeStroobandt: To give an analogy, it will be a bad style in LaTeX to use \section{\itseries First section}. It is better to move the formatting setup in the preamble and use semantic markup in the document body. – Aditya Sep 1 '13 at 18:46

Maybe it's a hack, but in my code this always works: place a \phantom{x} before the \vfill to get the desired effect.

share|improve this answer

Your Answer


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.