84

What is the difference between \vspace{\fill} and \vfill? What about the starred version of them?

Mario S. E.
  • 18,609

1 Answers1

81

\vspace{\fill} and \vfill are not exactly equivalent. They are if they appear between paragraphs, but not if they appear in a paragraph.

  • \vspace{\fill} in a paragraph will add the filling vertical space below the line in which it eventually appears;

  • \vfill ends the paragraph at the spot and adds the filling vertical space.

Indeed \vfill is a TeX primitive, while \vspace is defined by LaTeX to have the described effect when found in a paragraph. In vertical mode, \vspace{<glue>} is equivalent to the primitive \vskip<glue>. See \vspace vs. \vskip for more information.

There is no \vfill*, if you're asking about this. The difference between \vspace{<glue>} and \vspace*{<glue>} is that the latter is not discarded at page breaks. See Question about spacing \hspace and \vspace.

egreg
  • 1,121,712
  • 2
    I didn't know there is no \vfill*, but I was also interested about \vspace*{\vfill} – Mario S. E. Jun 12 '13 at 11:02
  • 4
    @MarioS.E. You probably mean \vspace*{\fill}: it exists and has a similar behaviour to \vspace*, only using \fill as the length for the vertical space. One of the uses is to put a paragraph at the bottom of the page, e.g. a colophon, when there is no other text on the page (hence the use of the *). – tricasse Mar 21 '15 at 15:05