我真的很喜欢在 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
为\partopsep
6pt 以突出效果。)
\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}