The paralist
package provides compressed lists, the new environments are called compactitem
, compactenum
and compactdesc
. Use it just like the corresponding standard list environments. It can even keep lists within a paragraph.
The enumitem
provides more features but also compressed lists, for instance by
\usepackage{enumitem}
\setlist{nolistsep,leftmargin=*}
\setlist
modifies all lists, \setitemize
just itemize
etc. It takes an optional parameter that stands for the level that should be changed, default it alters all levels. Since enumitem
allows a lot more customization I prefer it over paralist
, but the latter is easier to use and fits better to the question here.
The answer, as in the other thread, is to use enumitem
instead of enumerate
package.
If you load it with the shortlabels
option
\usepackage[shortlabels]{enumitem}
you can keep the same syntax of enumerate
.
Then you can issue, for example
\setlist[enumerate]{noitemsep}
if you want to eliminate the spacing between items or
\setlist[enumerate]{itemsep=1pt}
if you want to reduce it to 1pt
.
MWE:
\documentclass{article}
\usepackage[shortlabels]{enumitem}
\setlist[enumerate]{noitemsep}
\begin{document}
\begin{enumerate}[-]
\item ABC
\item DEF
\item XYZ
\end{enumerate}
\end{document}
Output:
![enter image description here](https://i.stack.imgur.com/3AmW9.jpg)
If you want the change to be locally, instead of declaring
\setlist[enumerate]{noitemsep}
you can insert noitemsep
in the enumerate
options, as in
\begin{enumerate}[-,noitemsep]
Best Answer
Use the package
enumitem
:The package allows you easy access to change the parameters which control the list environments:
enumerate
,description
, anditemize
.Other parameters to adjust vertical spacing are:
partopsep
,parsep
,itemsep
. You pass these to the environment through an optional argument as keys as I did above withtopsep=0ex
.