# Suggestions for transitioning from paralist to enumitem package

Based on the suggestions on What are the differences between using paralist vs. enumitem, I am transitioning from using paralist to enumitem and have encountered a few issues.

1. There are a few places where I use paragraph mode list inparaenum, so was wondering if I can have both packages loaded, and use enumitem for the enumerate, itemize, and description environments, but still be able to use inparaenum from the paralist package? Are there any problem in loading both packages? It seems that the paralist has to be loaded before enumitem.

2. I noticed that there is at least one small difference in spacing between the two packages. The standard enumerate leaves a little extra space on the left hand side prior to the item label. That's just one thing I noticed, and there might be other spacing issues that I have not yet encountered. So, are there settings that I can use to have {enumitem} produce spacing as identical as possible to what was produced by {paralist}. Or has someone else had this issue and come up with a bunch of settings to do this? This can be seen by switching which one of the list environments are commented out.

MWE:

\documentclass{article}

\usepackage{paralist}
%\usepackage[shortlabels]{enumitem}

\begin{document}
\begin{enumerate}[(a)]
\item One
\item Two
\end{enumerate}
\end{document}

-
enumitem can ape inparaenum so that shouldn't be a problem... – Seamus Jun 26 '11 at 18:43

With regard to your first question (lists in paragraph mode), I suggest to wait for the release of enumitem version 3.0 which is due next week. From the README of 3.0alpha2:

There are three new list types for runin lists: enumerate*, itemize*, and description*. New lists may be created with \newlist and \setlist.

With the package option runin, three lists are defined: enumerate*, itemize*, and description* (not to be confused with the corresponding types). They emulate the behaviour of paralist and shortlst in that labels and settings are shared with the display (ie, "normal") lists enumerate, itemize and description, respectively (however, resuming is based on environment names, not list types).

Format is set with keys 'afteritem' (default is a space), and 'afterlabel' (default is \nobreakspace, ie, ~).

Concerning your second question: There's no "paralist spacing emulation mode" for enumitem, but it should be possible to dig into paralist.sty, extract the exact spacing behaviour and tweak enumitem's settings accordingly.

EDIT: The following settings should come at least fairly close to paralist:

\documentclass{article}

\usepackage[english]{babel}
\usepackage{blindtext}

\usepackage{paralist}
\usepackage[shortlabels]{enumitem}
\setlist{align=left,leftmargin=1.778em,labelwidth=1.278em}

\begin{document}

\blindtext

\begin{enumerate}[(a)]
\item One
\item Two
\end{enumerate}

\blindtext

\end{document}

-
This comes pretty close in that the labels seems to be aligned the same. However, the word "Two" in the second item seems to show a bit between the two examples which doesn't quite make sense to me. – Peter Grill Jun 26 '11 at 20:09
@Peter: I've noticed that too -- it seems that paralist will change the label width for individual labels (note that (b) is wider than (a)), while enumitem (IMO as the better choice) will align the start of the item texts. – lockstep Jun 26 '11 at 20:13
@Peter: It seems to be even more complicated: Try to typeset a list with 14 items ((a) to (n)) with paralist. I don't get the exact behaviour of paralist, but rather suggest to switch to enumitem and forget about trying to exactly replicate paralist's output. – lockstep Jun 26 '11 at 20:18
I think that explains why the "Two" was shifted via {enumitem} as it allows for larger labels such as "m"... I was trying to keep {enumitem} as close to {paralist} to minimize issues with the existing documents. – Peter Grill Jun 26 '11 at 20:39
It seems (just a guess) paralist uses 'a' to measure the label but forgets changing the value of \labelwidth (which could explain the misaligned '(m)', which in fact is not the only one, if you look carefully). enumitem prefers 'm' (ie, the widest one), so perhaps widest=a,leftmargin=* helps. – Javier Bezos Jun 27 '11 at 10:48