这两个 \vspace 实现有何不同?

这两个 \vspace 实现有何不同?

我正在用 LaTeX 构建我的简历,我使用的模板是从如下环境中定义的一些想法中得到的:

\newenvironment{body} {
    \vspace*{-16pt}
    \begin{changemargin}{-0.25in}{-0.5in}
  } 
    {\end{changemargin}
}

每当我开始写简历的一部分(也就是一个章节)时,我都会以 开头。但是,对于我始终在每个后面(以及就在 之前)\begin{body}遇到的间距问题,如果我能将其作为环境的一部分,这似乎很愚蠢。所以我将其更改为:\vspace{14pt}\begin{body}\end{body}

\newenvironment{body} {
    \vspace*{-2pt}
    \begin{changemargin}{-0.25in}{-0.5in}
  } 
    {\end{changemargin}
    \vspace{14pt}
}

这是否正确,因为它产生相同的结果?

另外,\vspace*与 相比 的作用是什么\vspace

答案1

由于发布的信息量太大,所以无法一一回答。

%你在行尾缺少了一些

\newenvironment{body} {%%%%%%%%%%%%%%%
    \vspace*{-16pt}%%%%%%%%%%%%%%%%%%%%%
    \begin{changemargin}{-0.25in}{-0.5in}%%%%%%%%%%%%
  } 
    {\end{changemargin}%%%%%%%%%%%%%
}

但任何负空间,-16pt 或 -2pt 原则上都会导致此环境过度打印先前的文本。如果没有,那么您尚未展示的是添加空间来防止这种情况发生。

通常在这种情况下使用这种方法更好\addvspace。大多数 LaTeX 显示环境都使用这种方法:两个\addvspace一个接一个地添加两个值的最大值而不是总和,因此可以避免一个显示环境跟在另一个显示环境后面时占用过多的空间。

相关内容