På et hvilket som helst tidspunkt i behandlingen er TeX i en eller annen modus. Det er seks moduser, delt inn i tre kategorier:
- horisontal modus og begrenset horisontal modus,
- vertikal modus og intern vertikal modus, og
- matematikk modus og vis matematikkmodus.
Når du ikke skriver matematikk, er TeX i horisontal eller vertikal modus. Horisontal modus brukes vanligvis til å lage tekstlinjer; vertikal modus brukes vanligvis til å stable linjene i et avsnitt oppå hverandre.
\vskip
setter inn et lim i en vertikal liste over linjene. Derfor \vskip
bryter den horisontale modusen og går til den vertikale modusen.
\vspace
kan fungere i horisontal og vertikal modus modus. I horisontal modus tilsvarer \vspace 1mm
\vadjust{\vskip 1mm \vskip 0pt}
og setter inn et mellomrom etter gjeldende linje. I vertikal modus tilsvarer \vspace 1mm
\vskip 1mm \vskip 0pt
\vskip 0pt
nødvendig slik at \removelastskip
ikke kan fjerne det vertikale rommet ditt.
Full definisjon:
\vspace : -> \@ifstar \@vspacer \@vspace
Uten *
sak (\vspace 1mm
):
\@vspace: #1->\ifvmode \vskip #1 \vskip \z@skip \else \@bsphack \vadjust {\@restore par \vskip #1 \vskip \z@skip }\@esphack \fi
Merk \z@skip
lik 0pt
, \@bsphack
er nødvendig for å spare stor horisontal plass etter periode. \@esphack
er nødvendig for å returnere store plassinnstillinger.
Med *
tilfelle (\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
Kommentarer
\vspace
er en LaTeX-kommando og \vskip
er en TeX-kommando. Begge kan brukes i LaTeX. Når \vspace
brukes i et avsnitt, setter det mellomrom etter gjeldende linje. Men hvis \vskip
brukes i et avsnitt, avslutter det avsnittet og setter inn plassen umiddelbart.
Kommentarer
Forskjellen ved eksempel:
\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}
Akkurat som Rob sier; for å omformulere, bør \vskip
brukes når du er i, eller ønsker å begynne å sette i vertikal modus, og \vspace
gir mening innenfor en avsnitt.
Implementeringen av (an?) av \vspace
er diskutert i Eijkhout 1990, TUGboat 11 (4 ), p618 .