What is the best way to format a list as to remove the spaces between list items.
Asked
Active
Viewed 1.9e+01k times
5 Answers
205
It's easier with the enumitem package:
\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}
The enumitem package provides a lot of features to customize bullets, numbering and lengths.
The paralist package provides very compact lists: compactitem, compactenum and even lists within paragraphs like inparaenum and inparaitem.
-
20If you want to remove the spacing globally for every list in your document just put `\setlist[itemize]{noitemsep}` in your preamble. – Fabian Winkler Mar 13 '13 at 15:52
-
-
11@RSFalcon7 : You need to specify the ``enumitem`` package beforehand: ``\usepackage{enumitem} \setlist[itemize]{noitemsep}`` ... also setting the itemsep for the whole document to a certain value works that way ``\setlist[itemize]{itemsep=1cm}`` – petermeissner Oct 02 '13 at 08:15
-
@marvin_dpr Thanks, the problem is a bit old, but I think that my installation of texlive wasn't the best. After the reinstallation everything returned as it was supposed to be. – RSFalcon7 Oct 02 '13 at 15:17
-
-
4I would also like to add that the `nolistsep` option is [now deprecated](http://ctan.uib.no/macros/latex/contrib/enumitem/enumitem.pdf), and that its successor is `nosep`, which "kills all vertical spacing". – larsac07 May 15 '16 at 18:48
49
You could do something like this:
\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}

Mitja
- 1,969
- 30
- 35

Bart Kiers
- 166,582
- 36
- 299
- 288
13
This question was already asked on https://tex.stackexchange.com/questions/10684/vertical-space-in-lists. The highest voted answer also mentioned the enumitem
package (here answered by Stefan), but I also like this one, which involves creating your own itemizing environment instead of loading a new package:
\newenvironment{myitemize}
{ \begin{itemize}
\setlength{\itemsep}{0pt}
\setlength{\parskip}{0pt}
\setlength{\parsep}{0pt} }
{ \end{itemize} }
Which should be used like this:
\begin{myitemize}
\item one
\item two
\item three
\end{myitemize}

Community
- 1
- 1

Waldir Leoncio
- 10,853
- 19
- 77
- 107
2
compactitem
does the job.
\usepackage{paralist}
...
\begin{compactitem}[$\bullet$]
\item Element 1
\item Element 2
\end{compactitem}
\vspace{\baselineskip} % new line after list

Vertexwahn
- 7,709
- 6
- 64
- 90
0
You can use this with negative numbers to change the separation manually
\begin{itemize}
\itemsep-1.5em
\item foo
\item bar
\item baz
\end{itemize}

aljoshoh
- 1
- 1