Î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 .