什么时候可以安全地添加空行?

什么时候可以安全地添加空行?

我真的很喜欢在 LaTeX 中添加空格以保持条理,但我总是担心添加空格会影响输出,而我真正想要做的只是将“代码”稍微分开一些。

因此,大多数时候,我都会在空行中插入“%”以防万一,或者我会进行实验。例如,我知道(通过尝试)下面的空行不会造成任何危害:

\documentclass{article}
\begin{document}

\title{My title}
\author{My author}
\date{\today}
\maketitle

\begin{abstract}
This is my abstract!
\end{abstract}

\section{Introduction}
Bla bla bla.
\end{document}

但我想知道,是否存在一条坚定的规则可以让我立即知道空行是否会影响输出?

答案1

基本上,考虑到一个空行会产生一个\par标记,我知道的一个规则是这样的:空行是无害的,当你知道它们(或隐含的\par)只会在垂直模式下遇到。TeX 以垂直模式启动,并且在段落之间以及在许多环境(例如所有列表环境、小页面和浮动)的顶部都处于垂直模式。在这些环境之后也处于垂直模式(但不是通常在显示的方程式之后)。

答案2

在文档正文中,最基本的经验规则是:仅使用空行分隔段落。

所以在你的例子中可以这么说

\section{Introduction}

Bla bla bla.

\end{document}

因为“Bla bla bla.”大概本身就是一个段落。

也正因为如此,如果方程式和其周围的文本属于同一段落,则不应在它们之间添加空行。在这种情况下,如果您想在源代码中留出一些额外的空间,则应插入%'s 来注释掉该行,例如

... and then we find out that
%
\begin{equation}
z^2 = x^2 + y^y \;,
\end{equation}
%
which is rather nice.

And then another paragraph here ...

答案3

当启动列表环境(或基于 的环境list,例如quote)时,前面有或没有空行将\begin{<list>}导致列表前后的垂直间距不同(!)。没有空行,间距等于\topsep;有空行,间距等于\topsep加上\partopsep

(在下面的 MWE 中,我使用了枚举项包将两者设置\topsep\partopsep6pt 以突出效果。)

\documentclass[12pt]{article}

\usepackage{enumitem}
\setlist{topsep=6pt,partopsep=6pt}

\begin{document}

\section{Lists within paragraphs}

Some text.
%
\begin{itemize}
\item A list item
\end{itemize}

Some text.

\section{Lists as paragraphs}

Some text.

\begin{itemize}
\item A list item
\end{itemize}

Some text.

\end{document}

相关内容