这个问题涉及显示数学后的间距,以及它如何与enumerate
环境内的间距相互作用。具体来说,这是一个 MWE:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
First line. Blah blah blah blah blah blah blah blah.
\[a+b=c\] % The spacing above and below is the same
Second line. Blah blah blah blah blah blah blah blah.
\begin{enumerate}
\item First line. Blah blah blah blah blah blah blah.
\[a+b=c.\] % The spacing below is bigger than the spacing above
\item Second item. Blah blah blah blah blah blah blah.
\item Third item. Blah blah blah blah blah blah blah.
\end{enumerate}
\end{document}
从基本层面上讲,在这个 MWE 中,我希望在这两种情况下显示数学运算之前/之后的垂直间距相同。
更一般地(从技术上讲),我希望\itemsep
(或任何增加额外空间的东西)\belowdisplayskip
像与\addvspace
- 型空间一样进行交互,因此取两者中的最大值。有人能建议一种方法来做到这一点吗?
笔记:我已经包含了amsmath
上述内容,但这个问题在未加载时也会发生amsmath
。在我需要它的地方,我实际上也需要它与包一起工作enumitem
,但我认为这不会干扰任何解决方案。
答案1
根据列表的实现方式,它应该是这样的。Any\item
开始一个段落,TeX 插入粘连,列表设置为等于(由类设置)\parskip
的值,此外;在本例中,这没有通过,但可以。\parsep
\itemsep
\itemsep
\parskip
示例(双列格式,便于比较)
\documentclass[twocolumn]{article}
\usepackage{amsmath}
\begin{document}
First line. Blah blah blah blah blah blah blah blah.
\[a+b=c\] % The spacing above and below is the same
Second line. Blah blah blah blah blah blah blah blah.
\newpage
\begin{enumerate}
\item First line. Blah blah blah blah blah blah blah.
\[a+b=c.\] % The spacing below is bigger than the spacing above
\item Second item. Blah blah blah blah blah blah blah.
\item Third item. Blah blah blah blah blah blah blah.
\end{enumerate}
\end{document}
固定的:
\documentclass[twocolumn]{article}
\usepackage{amsmath}
\begin{document}
First line. Blah blah blah blah blah blah blah blah.
\[a+b=c\] % The spacing above and below is the same
Second line. Blah blah blah blah blah blah blah blah.
\newpage
\begin{enumerate}
\item First line. Blah blah blah blah blah blah blah.
\[a+b=c.\vspace{-\parskip}\] % The spacing below is equal to the spacing above
\item Second item. Blah blah blah blah blah blah blah.
\item Third item. Blah blah blah blah blah blah blah.
\end{enumerate}
\end{document}
加载enumitem
包可能是有意义的:
\documentclass[twocolumn]{article}
\usepackage{amsmath,enumitem}
\begin{document}
First line. Blah blah blah blah blah blah blah blah.
\[a+b=c\] % The spacing above and below is the same
Second line. Blah blah blah blah blah blah blah blah.
\newpage
\begin{enumerate}[itemsep=\glueexpr\itemsep+\parsep\relax,parsep=0pt]
\item First line. Blah blah blah blah blah blah blah.
\[a+b=c.\] % The spacing below is equal to the spacing above
\item Second item. Blah blah blah blah blah blah blah.
\item Third item. Blah blah blah blah blah blah blah.
\end{enumerate}
\end{document}
但这当然会影响单个项目内的段落。