vspace和vskip的区别

  • vskip用在水平模式时,会立刻退出水平模式进入垂直模式
  • vspace在水平模式和垂直模式中都可以使用
    • 在水平模式时,它会在当前行结束时空出指定高度的空白。例如\vspace 1mm等价于\vadjust{\vskip 1mm \vskip 0pt}vskip 0pt是必要的,否则\removelastskip可能会移除你设置的空白高度)
    • 在垂直模式时,\vspace 1mm等价于\vskip 1mm \vskip 0pt

水平模式就是将单词盒子从左到右连起来,而垂直模式就是把盒子从上到下垒起来。考虑下面的例子

\documentclass[preview, border=7mm]{standalone}
\usepackage{xcolor}
%%% 下面的设置可以起到禁止断词的作用
\tolerance=1
\emergencystretch=\maxdimen
\hyphenpenalty=10000
\hbadness=10000

\begin{document}
    \textcolor{red}{Line with \texttt{vspace} :}  orem ipsum dolor sit amet, consectetuer adipiscingelitEtiamlobortisfacilisis sem. Nullam nec mi et neque pharetra sollicitudin. Prae-sent imperdiet mi nec ante.  Donec ullamcorper, felis non sodales commodo,lectus velit ultrices augue, a dignissim nibh lectus placerat pede. 

    \hrulefill

    \textcolor{red}{Line with \texttt{vspace} :}  orem ipsum dolor sit amet, consectetuer adip\vspace{1cm}iscingelitEtiamlobortisfacilisis sem. Nullam nec mi et neque pharetra sollicitudin. Prae-sent imperdiet mi nec ante.  Donec ullamcorper, felis non sodales commodo,lectus velit ultrices augue, a dignissim nibh lectus placerat pede. 

    \hrulefill

    \textcolor{red}{Line with \texttt{vskip} :}  orem ipsum dolor sit amet, consectetuer adip\vskip 1cm iscingelitEtiamlobortisfacilisissem. Nullam nec mi et neque pharetra sollicitudin. Prae-sent imperdiet mi nec ante.  Donec ullamcorper, felis non sodales commodo,lectus velit ultrices augue, a dignissim nibh lectus placerat pede.

\end{document}

这三部分,第一部分没有任何vskipvspace命令,第二部分是vspace{1cm}命令,第三部分是vskip{1cm}命令,这两个命令都插在同样的为止,其结果是

TIM截图20200806104552.png

虽然vspace插在adip\vspace{1cm}iscingelitEtiamlobortisfacilisis中,但是并没有立刻在adip后立刻出现空白,而是等到了当前行结束后,此时退出水平模式进入到垂直模式,然后插入1cm的垂直空白。

adip\vskip 1cm· iscingelitEtiamlobortisfacilisissem后立刻退出水平模式进入垂直模式,出现了空白。