În orice moment al procesării sale, TeX se află într-un anumit mod. Există șase moduri, împărțite în trei categorii:
- modul orizontal și modul orizontal restricționat,
- modul vertical și modul vertical intern și
- matematică modul și afișați modul matematic.
Când nu tastați matematica, TeX este în modul orizontal sau vertical. Modul orizontal este de obicei folosit pentru a crea linii de text; modul vertical este de obicei utilizat pentru a stiva liniile unui paragraf unul peste celălalt.
\vskip
inserează un adeziv într-o listă verticală a liniilor. Prin urmare, \vskip
rupe modul orizontal și trece la modul vertical.
\vspace
poate funcționa în modul orizontal și vertical modul. În modul orizontal \vspace 1mm
este echivalent cu \vadjust{\vskip 1mm \vskip 0pt}
și inserează un spațiu după linia curentă. În modul vertical \vspace 1mm
este echivalent cu \vskip 1mm \vskip 0pt
\vskip 0pt
este este necesar, astfel încât \removelastskip
nu vă poate elimina spațiul vertical.
Definiție completă:
\vspace : -> \@ifstar \@vspacer \@vspace
Fără *
caz (\vspace 1mm
):
\@vspace: #1->\ifvmode \vskip #1 \vskip \z@skip \else \@bsphack \vadjust {\@restore par \vskip #1 \vskip \z@skip }\@esphack \fi
Notă \z@skip
egal cu 0pt
, este necesar \@bsphack
pentru a economisi spațiu orizontal mare după perioadă. \@esphack
este necesar pentru a returna setări de spațiu mare.
Cu *
carcasă (\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
Comentarii
\vspace
este o comandă LaTeX și \vskip
este o comandă TeX. Ambele pot fi utilizate în LaTeX. Când \vspace
este utilizat într-un paragraf, acesta inserează spațiu după linia curentă. Dar dacă \vskip
este utilizat într-un paragraf, acesta încheie paragraful și introduce spațiul imediat.
Comentarii
Diferența prin exemplu:
\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}
Exact așa cum spune Rob; pentru reformulare, \vskip
trebuie utilizat atunci când vă aflați sau doriți să începeți setarea în modul vertical și \vspace
are sens în paragraf.
Implementarea (an?) a \vspace
este discutată în Eijkhout 1990, TUGboat 11 (4 ), p618 .