我有一个类似这样的列表:
我不想在行 (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}