行距和 \enumerate 具有不同的列表级别

行距和 \enumerate 具有不同的列表级别

我有一个类似这样的列表:

列表

我不想在行 (2) 和 (a) 之间留有间距,但我想保留 (1) 和 (2) 之间以及 (b) 和 (3) 之间的间距(如图所示)。我尝试使用 LaTeX enumitem 命令来解决这个问题,如下所示\begin{enumerate}[topsep=-5pt]。我对一个类似的命令感兴趣,它可以在不提供空间高度 ( ) 的实际数字的情况下使用-5pt,类似于nosep(这个不起作用)之类的命令。

\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}[label={(}\arabic*{)}]
    \item Random text
    \item Random text
    \begin{enumerate}[nolistsep,topsep=-5pt]
        \item Random text
        \item Random text
    \end{enumerate}
    \item Random text
\end{enumerate}
\end{document}

答案1

您可能想要做的是将其设置parsep为零。与 不同itemsep, 是两个相邻条目之间的距离,parsep是条目与后续段落之间的距离。嵌套列表的行为实际上相同。

\documentclass{article}
\usepackage{enumitem}

\begin{document}
\begin{enumerate}[label={(}\arabic*{)}, parsep=0pt]
    \item Random text
    \item Random text
    \begin{enumerate}[nolistsep]
        \item Random text
        \item Random text
    \end{enumerate}
    \item Random text
\end{enumerate}
\end{document}

在此处输入图片描述

由于相邻项之间也添加了 a parsep(参见当前enumitem软件包的文档),当没有嵌套列表时,您可能希望保留它。您可以先将 的值添加\parsep\itemsep,然后(顺序很重要)将其设置parsep为零。

\documentclass{article}
\usepackage{enumitem}

\begin{document}
\begin{enumerate}[label={(}\arabic*{)}, itemsep={\dimexpr\itemsep+\parsep\relax}, parsep=0pt]
    \item Random text
    \item Random text
    \begin{enumerate}[nolistsep]
        \item Random text
        \item Random text
    \end{enumerate}
    \item Random text
\end{enumerate}
\end{document}

在此处输入图片描述

相关内容