正如您在下面的示例中看到的,itemize
无论 之前是否有换行符,环境都是相同的\begin{itemize}
。但是,align
如果放入换行符,环境将具有明显更多的空间。首先,为什么会这样?其次,有没有办法让环境align
表现得像itemize
——或者是否有align
可以使用的具有相同功能的替代包?
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Here are some items without a line break:
\begin{itemize}
\item A
\item B
\item C
\end{itemize}
Here are some items with a line break:
\begin{itemize}
\item A
\item B
\item C
\end{itemize}
Here is an equation without a line break:
\begin{align}
X = 2
\end{align}
Here is an equation with a line break
\begin{align}
X = 2
\end{align}
\end{document}
答案1
你的假设是错误的:itemize
做如果前面有一个空行,则行为会有所不同。以下是证明:
\documentclass{article}
\usepackage{amsmath}
\setlength{\partopsep}{40pt} % very large value to emphasize the effect
\begin{document}
Here are some items without a line break:
\begin{itemize}
\item A
\item B
\item C
\end{itemize}
Here are some items with a line break:
\begin{itemize}
\item A
\item B
\item C
\end{itemize}
Here is an equation without a line break:
\begin{align}
X = 2
\end{align}
Here is an equation with a line break
\begin{align}
X = 2
\end{align}
\end{document}
通过为 赋予非常大的值来强调效果,它是存储在列表环境(、或)之前和之后\partopsep
添加的垂直空间量的参数。它在标准类中的默认值是,因此非常小但引人注目。\topsep
itemize
enumerate
description
2pt plus 1pt minus 1pt
另一方面,LaTeX 的amsmath
出发点是数学显示永远不应该成为段落的开头。这是实施的结果,这样做会添加一个空行。
答案2
(评论太长,因此作为答案发布。请不要投票。)
你的断言
itemize
无论前面是否有换行符,环境都是相同的\begin{itemize}
并不完全正确,如以下示例所示。它使用双列文档布局。请注意,两个\hrule
s 并不完全对齐。(顺便说一句,我将您的术语“换行符”解释为“空白行”。)
显然,差异并不像案例中那么明显align
,但绝对不是零。
值得注意的是,这两个\hrule
数字确实完美地吻合如果环境之前的行itemize
以明确的语句终止\par
。
\documentclass[twocolumn]{article}
\setlength\parindent{0pt}
\begin{document}
\verb+itemize+ environment not preceded by a blank line
\begin{itemize}
\item A
\item B
\item C
\end{itemize}
\hrule
\newpage% force a column break
\verb+itemize+ environment preceded by a blank line
\begin{itemize}
\item A
\item B
\item C
\end{itemize}
\hrule
\end{document}