The answer is easy: you should never use \vskip
in a LaTeX document. The only precaution to be taken is adding a blank line before \vspace
when the vertical space is meant to appear between paragraphs, which usually is the case.
However, \vspace
can also appear in a paragraph and the vertical spacing will be applied below the text line where the command finally happens to fall: think of it as an invisible “word” that extends below the baseline (but this space will disappear at a page break anyway).
There are several reasons for not using \vskip
(except, maybe, in basic LaTeX programming):
- it's easy to add a * where needed;
- it's easy to change
\vspace
into \addvspace
(when two consecutive \addvspace
commands, that are usually issued by macros rather than directly, only the largest one prevails);
- the syntax conforms to the traditional LaTeX one and a
\relax
is placed by default behind the scenes, thus avoiding some possible problems that, by Murphy's law, will show as very weird errors.
Similarly, never use \hskip
in a LaTeX document, but prefer \hspace
which avoids head scratching in cases such as
text\hskip 1pt plus other text
Try it. ;-)
Then you'll switch to
text\hspace{1pt}plus other text
Notice that \hspace{...}
should not be preceded nor followed by a space, because we're overriding TeX's rules at that point and we probably don't want other spaces to begin with.
;-)
– egreg Jul 31 '13 at 13:19