The macro controlling the gap between items is \itemsep
, which can be controlled with the enumitem
package conveniently. Also, \parsep
controls vertical space between paragraphs within an item and can also be specified in this manner.
If the leading space is also an issue, topsep
is the identifier.
See Appendix C.5.3 of Leslie Lamport's LaTeX User Guide and Reference Manual for details on what variables go into a list.
Gustavo rightly suggests using the logical declarations, noitemsep
and nosep
in lieu of actually specifying the values for \itemsep
, \parsep
, and \topsep
. I have added those into my MWE, while retaining the commented equivalent.
\documentclass[12pt]{article}
\usepackage{enumitem}
\begin{document}
\noindent Inter text
\begin{enumerate}
\item blah
\item blah blah
\item blah blah blah
\item blah blah blah blah
\end{enumerate}
Inter text
\begin{enumerate}[itemsep=0pt]
\item blah
\item blah blah
\item blah blah blah
\item blah blah blah blah
\end{enumerate}
Inter text
%\begin{enumerate}[itemsep=0pt,parsep=0pt]% IS THE SAME AS
\begin{enumerate}[noitemsep]
\item blah
\item blah blah
\item blah blah blah
\item blah blah blah blah
\end{enumerate}
Inter text
%\begin{enumerate}[itemsep=0pt,parsep=0pt,topsep=0pt]% IS THE SAME AS
\begin{enumerate}[nosep]
\item blah
\item blah blah
\item blah blah blah
\item blah blah blah blah
\end{enumerate}
Inter text
\end{document}

enumitem
package, you can set\begin{itemize}[itemsep=0pt]
or even\begin{itemize}[itemsep=-\parsep]