如何在全局逐项列举/枚举之前和之后有不同的空格?

如何在全局逐项列举/枚举之前和之后有不同的空格?

这个问题很大程度上受到以下启发:如何删除 itemize/enumerate 之前的空格?(因此得名)。

据我所知,topsep这会影响枚举/逐项之前和之后的空白。而且我在文档

我希望在枚举/逐项列举之前和之后有不同数量的空白,最好通过全局设置来实现。

类似的东西\setlist[itemize]{topsep=0pt}将是理想的(如果它有效的话)。

答案1

LaTeX 的列表明确设计为前后具有相同的垂直间距。这是在 LaTeX 的 \@trivlist 宏的深处编码的。因此,更改这一点需要调整该宏,而 enumitem 则不需要。我认为同时使用 \topsep 和 \botsep 是合理的,但 Leslie lampor 显然不这么认为。

但是,使用该enumitem包,您可以在 之前和之后插入文本itemize,如果您在 之前和之后设置topsep=0pt并插入自己的文本,\vspace那么您基本上可以得到您想要的。然后,\setlist您可以根据需要将这些设置设为全局设置,或者只是单独应用它们,或者定义您自己的列表类型。

\documentclass{article}
\usepackage{enumitem}
\begin{document}
\noindent
Text before the itemize.
\begin{itemize}[topsep=0pt,itemsep=0pt,parsep=0pt,before=\vspace{1cm},after=\vspace{1mm}]
\item An item
\end{itemize}
Text after itemize.
\end{document}

在此处输入图片描述

答案2

您可以在键中更改相关长度(\@topsepaddafter

\documentclass{article}
\usepackage{enumitem}
\begin{document}
\noindent
Text before the itemize.
\begin{itemize}[topsep=0cm,after={\advance\csname @topsepadd\endcsname by1cm}]
\item An item
\end{itemize}
Text after itemize.
\end{document}

在此处输入图片描述

相关内容