W dowolnym momencie przetwarzania TeX jest w jakimś trybie. Istnieje sześć trybów podzielonych na trzy kategorie:
- tryb poziomy i ograniczony tryb poziomy,
- tryb pionowy i wewnętrzny tryb pionowy oraz
- matematyka tryb i tryb wyświetlania matematyki.
Gdy nie piszesz matematyki, TeX działa w trybie poziomym lub pionowym. Tryb poziomy jest zwykle używany do tworzenia wierszy tekstu; tryb pionowy jest zwykle używany do układania wierszy akapitu jeden na drugim.
\vskip wstawia klej do pionowej listy wierszy. Dlatego \vskip przerywa tryb poziomy i przechodzi w tryb pionowy.
\vspace może pracować w trybie poziomym i pionowym tryb. W trybie poziomym \vspace 1mm jest równoważne z \vadjust{\vskip 1mm \vskip 0pt} i wstawia spację po bieżącym wierszu. W trybie pionowym \vspace 1mm jest odpowiednikiem \vskip 1mm \vskip 0pt
\vskip 0pt jest potrzebne, więc \removelastskip nie może usunąć spacji w pionie.
Pełna definicja:
\vspace : -> \@ifstar \@vspacer \@vspace
Bez * wielkości liter (\vspace 1mm):
\@vspace: #1->\ifvmode \vskip #1 \vskip \z@skip \else \@bsphack \vadjust {\@restore par \vskip #1 \vskip \z@skip }\@esphack \fi
Uwaga \z@skip równe 0pt, \@bsphack jest potrzebne, aby zaoszczędzić dużą przestrzeń w poziomie po kropce. \@esphack jest potrzebne do zwrócenia dużych ustawień spacji.
Z * wielkością liter (\vspace* 1mm):
\@vspacer:#1->\ifvmode \dimen@ \prevdepth \hrule \@height \z@ \nobreak \vskip #1 \v skip \z@skip \prevdepth \dimen@ \else \@bsphack \vadjust {\@restorepar \hrule @height \z@ \nobreak \vskip #1 \vskip \z@skip }\@esphack \fi
Komentarze
\vspace to polecenie LaTeX, a \vskip to polecenie TeX. Oba mogą być używane w LaTeX. Kiedy \vspace jest używany w akapicie, wstawia spację po bieżącym wierszu. Ale jeśli \vskip jest używany w akapicie, kończy akapit i natychmiast wstawia spację.
Komentarze
Różnica na przykładzie:
\documentclass[preview, border=7mm]{standalone} \usepackage{xcolor} \usepackage{blindtext} \begin{document} \textcolor{red}{Line with \texttt{vspace} :} \vspace{1cm} \blindtext \hrulefill \textcolor{red}{Line with \texttt{vskip} :} \vskip 1cm \blindtext \end{document}
Dokładnie tak, jak powiedział Rob; aby przeformułować, \vskip powinno być używane, gdy jesteś w trybie pionowym lub chcesz rozpocząć ustawianie w trybie pionowym, a \vspace ma sens w akapicie.
(an?) implementacja \vspace jest omówiona w Eijkhout 1990, TUGboat 11 (4 ), str. 618 .