开始一个段落时使用 \hbox{} 或 ~?

开始一个段落时使用 \hbox{} 或 ~?

考虑以下 MWE:

\documentclass{article}
\usepackage[showframe]{geometry}
\begin{document}
\bigskip
This is a test.
\end{document}

呈现如下:

在此处输入图片描述

如您所见,\bigskip无法留下垂直空间。这是一个常见的麻烦,我通常会在命令前加上\hbox{}, 或 来处理~。例如:

\documentclass{article}
\usepackage[showframe]{geometry}
\begin{document}
\hbox{}\bigskip
This is a test.
\end{document}

渲染:

在此处输入图片描述

我想知道的是 (1) 为什么会发生这种情况,(2) 为什么在这里做\hbox{}~工作,以及 (3) 解决此问题的最佳做法是什么。 (我想这与 vmode 和 hmode 有关,但我真的不知道发生了什么。)

答案1

发生这种情况是因为您通常不希望保留行或分页符处的空格,而最佳做法是\vspace*如果您确实想要空格:

\documentclass{article}
\usepackage[showframe]{geometry}
\begin{document}
\vspace*{\bigskipamount}
This is a test.
\end{document}

相关内容