如何控制环境前的垂直空间,例如tabular
或minipage
?
这是一个重现我的问题的示例:
\documentclass{article}
\begin{document}
\noindent TEXT-A\vspace{5pt}\\ TEXT-B\\TEXT-C
\\[2em]
\noindent TEXT-D\vspace{5pt}\\ \begin{tabular}{@{}l}TEXT-E\\TEXT-F \end{tabular}
\end{document}
TEXT-A
和之间的间距与和TEXT-B
之间的间距不同:TEXT-D
TEXT-E
到目前为止,我已经了解到,如果我删除 ,TEXT-D
和之间的空格是正常的:TEXT-E
\\TEXT-F
任何帮助,将不胜感激!
答案1
插入垂直空格\vspace{5pt}\\
不是一个好方法。它不会结束段落,\\
只会中断行。考虑换行符后垂直空白-那么应该断开哪一行?
而不是\\
使用空行或写字\par
来结束段落。换行也是一种结果。段落分隔符后,您可以插入垂直空间。也许\smallskip
,\medskip
或者\bigskip
可能是一个好主意。我不喜欢在文档中手动分配大量空间(这里一些点,那里一些点)。如果您以后想要拉伸或缩小一点,则必须在很多地方进行调整。最好使用宏或长度,可以在序言中进行调整。
回到主要问题。
有些环境会在前面插入垂直空格。例如,显示公式会插入特定空格(
\abovedisplayskip
或abovedisplayshortskip
),列表环境(如itemize
、enumerate
和description
)center
还会quote
插入长度为 的空格\topsep
。这些空格可以调整,但这取决于环境。如果您使用试图填满页面的类,例如书籍类,则可以为此目的插入垂直空间。您可以尝试该命令,
\raggedbottom
只是为了看看没有垂直对齐的效果。tabular
对于和的情况,添加顶部对齐的minispace
可选参数:[t]
\begin{tabular}[t]{@{}l} ...
如果您发布一个可以显示问题的小型可编译示例,我们可以讨论更多细节。如果您还没有做到这一点:不要尝试从头开始重现。相反,请复制您的文档,并逐步缩减它,编译每个步骤以确保它仍然显示问题。这样你就会得到一个演示示例。