Table of Contents
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=complist
There are packages that provide some control of list spacing, but they seldom address the separation from surrounding text (defined by \topsep). The expdlist package, among its many controls of the appearance of description lists, offers a compaction parameter (see the documentation); the mdwlist package offers a \makecompactlist command for users' own list definitions, and uses it to define compact lists itemize*, enumerate* and description*. In fact, you can write lists such as these commands define pretty straightforwardly - for example:
\newenvironment{itemize*}% {\begin{itemize}% \setlength{\itemsep}{0pt}% \setlength{\parskip}{0pt}}% {\end{itemize}}
The paralist package provides several approaches to list compaction:
The package will manipulate its enumerate environment labels just like the enumerate package does.
Paralist also provides itemize equivalents (asparaitem, etc.), and description equivalents (asparadesc, etc.).
The ultimate in compaction (of every sort) is offered by the savetrees package; compaction of lists is included. The package's prime purpose is to save space at every touch and turn: don't use it if you're under any design constraint whatever!