使用 \usepackage{enumerate} 枚举项之间没有空格

使用 \usepackage{enumerate} 枚举项之间没有空格

我现在使用这个代码:

\documentclass[11pt]{article}
\usepackage{enumerate}
\begin{document}
\begin{enumerate}
\item a
\item b
\item c
\end{enumerate}
\end{document}

我想减小 a、b、c 之间的行距。有人能帮我吗?

并且我该如何在枚举之前删除空格?

答案1

最好使用最新的、功能强大的enumitem软件包。

\documentclass[11pt]{article}
\usepackage{enumitem}
\begin{document}
Some text here.
\begin{enumerate}[topsep=0pt,itemsep=-1ex,partopsep=1ex,parsep=1ex]
\item a
\item b
\item c
\end{enumerate}
Some more text.
\end{document}

这里您可能需要根据需要调整这些参数:

  1. \topsep:第一项与前一段落之间的空格。
  2. \partopsep\topsep:当环境开始新段落时添加的额外空格。
  3. \itemsep:连续项目之间的空格。

在上面的代码中,参数是本地设置的。如果您愿意,可以借助 将它们设置为全局的\setlist[enumerate]{topsep=0pt,itemsep=-1ex,partopsep=1ex,parsep=1ex}。有关详细信息,请参阅enumitem手册文本文档

您可以使用 来抑制所有这些空格nolistsep

\documentclass[11pt]{article}
\usepackage{enumitem}
\begin{document}
\noindent Some text here.
\begin{enumerate}[nolistsep]
\item a
\item b
\item c
\end{enumerate}
Some more text.
\end{document}

在此处输入图片描述

答案2

除了使用包之外,您还可以使用内置功能并定义新环境

\newenvironment{tight_enumerate}{
\begin{enumerate}
  \setlength{\itemsep}{0pt}
  \setlength{\parskip}{0pt}
}{\end{enumerate}}

这样可以很好地将项目挤压在一起。如果您需要它们更紧密,可以使用负数,但请注意不要导致文本重叠。

答案3

enumitem提供现成的选项,用于消除列表内项目和段落之间的空格(noitemsep)或所有垂直空格(nosep):

用于消除垂直间距的标准 enumitem 选项

\documentclass[11pt]{article}
\usepackage{enumitem, kantlipsum}
\begin{document}
  \paragraph{List without vertical spacing between items and paragraphs:}
  \kant[2]
  \begin{enumerate}[noitemsep]
    \item a
    \item b
    \item c
  \end{enumerate}
  Something after the list.

  \paragraph{List without vertical spacing:}
  \kant[3]
  \begin{enumerate}[nosep]
    \item a
    \item b
    \item c
  \end{enumerate}
  Something after the list.
\end{document}

但请注意,该功能nolistsep现已弃用,不应再使用。

答案4

使用enumitem包代替enumerate

\usepackage[shortlabels]{enumitem}

那么它将支持与该enumerate包相同的 suntax。

包装enumerate中除了标签外没有提供任何额外的配置。

相关内容