Respostas:
É mais fácil com o pacote enumitem:
\documentclass{article}
\usepackage{enumitem}
\begin{document}
Less space:
\begin{itemize}[noitemsep]
\item foo
\item bar
\item baz
\end{itemize}
Even more compact:
\begin{itemize}[noitemsep,nolistsep]
\item foo
\item bar
\item baz
\end{itemize}
\end{document}
O pacote enumitem oferece muitos recursos para personalizar marcadores, numeração e comprimentos.
O pacote paralist fornece listas muito compactas: compactitem, compactenum e até listas dentro de parágrafos como inparaenum e inparaitem.
\setlist[itemize]{noitemsep}
seu preâmbulo.
enumitem
pacote de antemão: \usepackage{enumitem} \setlist[itemize]{noitemsep}
... também definir o itemsep de todo o documento para um determinado valor funciona dessa maneira\setlist[itemize]{itemsep=1cm}
Você poderia fazer algo assim:
\documentclass{article}
\begin{document}
Normal:
\begin{itemize}
\item foo
\item bar
\item baz
\end{itemize}
Less space:
\begin{itemize}
\setlength{\itemsep}{1pt}
\setlength{\parskip}{0pt}
\setlength{\parsep}{0pt}
\item foo
\item bar
\item baz
\end{itemize}
\end{document}
Esta pergunta já foi feita em /tex/10684/vertical-space-in-lists . A resposta mais votada também mencionou o enumitem
pacote (aqui respondido por Stefan), mas também gosto deste, que envolve a criação de seu próprio ambiente de itemização em vez de carregar um novo pacote:
\newenvironment{myitemize}
{ \begin{itemize}
\setlength{\itemsep}{0pt}
\setlength{\parskip}{0pt}
\setlength{\parsep}{0pt} }
{ \end{itemize} }
Que deve ser usado assim:
\begin{myitemize}
\item one
\item two
\item three
\end{myitemize}
compactitem
faz o trabalho.
\usepackage{paralist}
...
\begin{compactitem}[$\bullet$]
\item Element 1
\item Element 2
\end{compactitem}
\vspace{\baselineskip} % new line after list