1

There are numerous questions on SE (and elsewhere) asking how to change list environment spacings, but a lot of bad, ad hoc answers. The best answer is to use the enumitem package, which allows one to set the itemsep, topsep, parsep, and partopsep flags which control vertical spacing in a list. These answers are correct, but pretty simplistic, just stating how to reduce item separation with \setlist{noitemsep} or \setlist{nosep}.

My question is: how are these flags actually defined used? I cannot find any cohesive description of them anywhere on the Internet. The enumitem package manual simply says: "The keys above are equivalent to the well known list parameters—see a LaTeX manual for a description of them" (p. 2), however I do not have access to this generic manual.

Through experimentation, I see generally what these do. itemsep sets the space between (after?) each item. parsep seems to set the space between all items, including at the beginning and end of nested lists (and is thus preferable to itemsep if one wants a generally uniform appearance). topsep seems to work with itemsep to insert space between an item and a nested list (not spaced by itemsep). And partopsep seems to insert space between the prior paragraph and the start of the outermost list (but not after the end of such a list). Further, it appears that one can simulate parsep by setting both itemsep and topsep to the same value.

That's the best I can do, but I don't think this is fully correct and it is not clear to me how these four options are to be used together. I am particularly interested to understand the interplay of these options with the multicols package (e.g., how do you match \setlength{\multicolsep}{Xpt} in the rest of the list? \setlist{topsep=Xpt}?).

Follows a MWE, but this is a normative question; please don't provide ad hoc solutions.

\documentclass{article}
\usepackage{enumitem}             % Customize list spacing via \setlist

%\setlist{itemsep=00pt,parsep=00pt,topsep=00pt,partopsep=00pt}
%\setlist{itemsep=20pt,parsep=00pt,topsep=00pt,partopsep=00pt}
%\setlist{itemsep=00pt,parsep=20pt,topsep=00pt,partopsep=00pt}
%\setlist{itemsep=00pt,parsep=00pt,topsep=20pt,partopsep=00pt}
%\setlist{itemsep=00pt,parsep=00pt,topsep=00pt,partopsep=20pt}

\begin{document}

Prior paragraph Prior paragraph Prior paragraph Prior paragraph Prior paragraph
Prior paragraph Prior paragraph Prior paragraph.

\begin{itemize}
  \item ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM
        ITEM ITEM ITEM ITEM ITEM 
  \begin{itemize}
    \item ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM
          ITEM ITEM ITEM ITEM ITEM 
    \item ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM
          ITEM ITEM ITEM ITEM ITEM 
    \begin{itemize}
      \item ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM
            ITEM ITEM ITEM ITEM ITEM 
    \end{itemize}
    \item ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM
          ITEM ITEM ITEM ITEM ITEM 
    \begin{itemize}
      \item ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM
            ITEM ITEM ITEM ITEM ITEM 
      \begin{itemize}
        \item ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM
              ITEM ITEM ITEM ITEM ITEM 
        \item ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM
              ITEM ITEM ITEM ITEM ITEM 
      \end{itemize}
      \item ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM
            ITEM ITEM ITEM ITEM ITEM 
      \item ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM
            ITEM ITEM ITEM ITEM ITEM 
    \end{itemize}
    \item ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM
          ITEM ITEM ITEM ITEM ITEM 
  \end{itemize}
  \item ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM
        ITEM ITEM ITEM ITEM ITEM 
  \item ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM
        ITEM ITEM ITEM ITEM ITEM 
\end{itemize}

Subsequent paragraph Subsequent paragraph Subsequent paragraph Subsequent paragraph Subsequent paragraph Subsequent paragraph Subsequent paragraph Subsequent paragraph Subsequent paragraph Subsequent paragraph 

\end{document}
David Carlisle
  • 757,742
rjturn
  • 143
  • These are exactly the charts I have been looking for, thanks! My question adds one detail not answered in that question: What is the spacing between nested lists? – rjturn Nov 10 '14 at 16:51
  • depends how it's nested, if it is nested after some item text ...\item something then \begin{itemize}\item.. etc then it is just same parameters (except most classes have different default values for the first few levels) if the nesting happens immediately after the label ...\item \begin{itemize}\item.. Then LaTeX uses some ("interesting") code to adjust things so the first label of the nested list is inline with the label on the outer list. – David Carlisle Nov 10 '14 at 17:05
  • @DavidCarlisle Do you want to make that an answer, or should we close as a duplicate anyway? – Andrew Swann May 04 '17 at 13:54

0 Answers0