36

I am looking for advice on which of these packages to use? Under what circumstances would paralist be preferred over enumitem?

34

I normaly use enumitem as a standard package in my documents. A quick comparison of the two in the following list: (e)-enumitem and (p)-paralist

  • In paragraph enumeration (p)
  • Enumeration as paragraph (p)
  • Resume enumeration (e)
  • Set defaults (e,p)
  • Compact lists (e,p)
  • Keyvalue args (e)
  • Change labels (e,p)
  • Change refs (e)
  • Legal or stacked list type labels (e,p)
  • Trivlist correction (e)

Enumitem is the more advanced package, for example the trivlist correction leaves the spacing environmens such as quote unchanged and the keyvalue arguments makes on the fly changes to the lables and refs easy. A big plus point is also the resuming of enumerate counters after a break.

The strong point of paralist is the in-paragraph enumerations, but it is something I do not use often.

3
  • 7
    Nice summary. There is an alpha release (v3.0) of enumitem which has in-paragraph list support. It hasn't been released officially, though.
    – Alan Munn
    May 17 '11 at 15:38
  • 4
    enumitem 3.0 is now on ctan Jul 1 '11 at 15:50
  • 5
    The enumitem option is called inline
    – user4514
    Jul 29 '13 at 17:16
21

paralist also provides "compact" variants of the standard lists. You can emulate them in enumitem using the following:

\newlist{compactitem}{itemize}{3}
\setlist[compactitem]{topsep=0pt,partopsep=0pt,itemsep=0pt,parsep=0pt}
\setlist[compactitem,1]{label=\textbullet}
\setlist[compactitem,2]{label=---}
\setlist[compactitem,3]{label=*}

\newlist{compactdesc}{description}{3}
\setlist[compactdesc]{topsep=0pt,partopsep=0pt,itemsep=0pt,parsep=0pt}

\newlist{compactenum}{enumerate}{3}
\setlist[compactenum]{topsep=0pt,partopsep=0pt,itemsep=0pt,parsep=0pt}
\setlist[compactenum,1]{label=\arabic*}
\setlist[compactenum,2]{label=\alph*}
\setlist[compactenum,3]{label=\roman*}

Edit: Thanks to @Alan for pointing out my misreading. enumitem permits nesting lists up to 6 deep, at least for newly created enumerate-like lists. (That removes any quibble I had about enumitem versus native lists, since I think native lists don't nest by default that deep :-p)

I haven't figured out enumitem equivalents for the in-paragraph lists, yet, but as another answer points out, such support is being added to enumitem v3.0.

4
  • The enumitem package allows you to construct lists of arbitrary depth: \newlist{<listname>}{<type>}{<maxdepth>}.
    – Alan Munn
    May 17 '11 at 17:48
  • At least in v2.1, there's a check on maxdepth, though: \ifnum#1>#3\relax \@toodeep \else ... \fi, where #3 is the maxdepth. And there's a comment saying that for itemize and enumerate, #3 is \thr@@. I thought that meant I'd get stopped after nesting 3 deep...but maybe I'm misreading macro parameters again...
    – Ben Lerner
    May 17 '11 at 18:04
  • Well for newly created enumerate lists in v.2.2, the limit seems to be 6 (7 gives an error, so it's not quite arbitrary depth). I won't post the code in the comment. :-) BTW, if you add @Alan to your comment I'll be alerted to it.
    – Alan Munn
    May 17 '11 at 19:32
  • Here I found the solution to a problem I experienced in beamer. Compactitem from paralist did not show the bullets.
    – Louis
    Mar 12 '13 at 20:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.