[Tex/LaTex] How to get single-spaced list environments in a double-spaced document

enumitemline-spacinglists

I am writing a double-spaced document based on the book class. I set the spacing using \linespread{1.6}.

Is there a way to get all enumerate, itemize, and description environments to be single-spaced rather than the default double-spaced? I do not mean the spacing between the items, but rather the spacing between the lines of a given item.

I would prefer a method that doesn't require me to define my own environment; I want to use the already existing enumerate etc.

I expected there to be a way in the enumitem package to do it, but I don't see any information about line spacing in the documentation.

Any ideas?

Best Answer

You can use

\setlist{before=\singlespacing,after=\doublespacing}

Code:

\documentclass{article}
\usepackage{enumitem}
\usepackage{lipsum}
\usepackage{setspace}
\setlist{before=\singlespacing,after=\doublespacing}
\doublespacing
\begin{document}
  \lipsum[1]
  \begin{enumerate}
    \item \lipsum[1]
    \item \lipsum[1]
  \end{enumerate}
  \lipsum[1]
  \begin{itemize}
    \item \lipsum[1]
    \item \lipsum[1]
  \end{itemize}
  \lipsum[1]
  \begin{description}
    \item[Some] \lipsum[1]
    \item[Other] \lipsum[1]
  \end{description}
\end{document}

enter image description here

If you want to use \linespread instead of `setspace macros, do this

\setlist{before=\linespread{1}\selectfont,after=\linespread{1.6}\selectfont}