# What is the difference between \vskip and \vspace?

I found myself writing:

\vspace 1 \baselineskip


and then when not compiling changing without thinking to:

\vskip 1 \baselineskip


but what is the difference? Perhaps knowing this will make me write the right one from the start in the future...

-
–  thiton Sep 30 '11 at 11:46
oh that's why I didn't find it. That one is on stackoverflow I only searched this site... –  jonalv Sep 30 '11 at 12:14
@thiton: It is not possible to close a question as a duplicate of a question on a different stackexchange site. –  Martin Scharrer Sep 30 '11 at 12:32
@MartinScharrer: I've flagged the SO question to be moved here, once that is done this question could be closed. –  thiton Sep 30 '11 at 12:45
possible duplicate of vspace vs. vskip –  Marco Daniel Sep 30 '11 at 13:37

The syntax

\vspace 1\baselineskip


is incorrect, as \vspace (or, more precisely, the internal version \@vspace) is a command that takes one argument, so this would be equivalent to

\vspace{1}\baselineskip


which raises an error. However, also the two calls

\vspace{1\baselineskip}
\vskip 1\baselineskip


are not equivalent. The former will not force end-of-paragraph, if given in LR-mode (using LaTeX parlance; horizontal mode in TeX parlance), adding the stated vertical spacing under the line in which it appears in the typeset document. With \vskip, which is a primitive TeX command, the current paragraph will be terminated.

With \vspace you have also the *-version, providing a vertical space that won't disappear at a page break; spacing inserted with \vskip will always disappear at a page break.

In general it's best to issue \vspace between paragraphs, but the "in-paragraph" feature may come up handy in some cases.

Lastly,

\vskip 1\baselineskip
Plus one


will give some surprises to those who are not accustomed with Plain TeX lingo.

Note for the curious: \vglue 1\baselineskip ends the paragraph and produces spacing that won't disappear at a page break. It's not documented in the LaTeX manuals, and it's good it isn't.

-
Why is it good it isn't? You piqued my curiosity... –  jonalv Sep 11 '12 at 9:40
@jonalv The main problem is the "foreign" syntax. If you write \vglue{2\baselineskip} you'll get an error. And \vglue 2pt Minuscule beasts ... will puzzle you. –  egreg Sep 11 '12 at 9:46