Latex supprimer les espaces entre les éléments de la liste

Réponses:

172

C'est plus facile avec le package 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}

exemple

Le package enumitem fournit de nombreuses fonctionnalités pour personnaliser les puces, la numérotation et les longueurs.

Le package paralist fournit des listes très compactes: compactitem, compactenum et même des listes dans des paragraphes comme inparaenum et inparaitem.

Stefan
la source
15
Si vous souhaitez supprimer globalement l'espacement pour chaque liste de votre document, insérez simplement \setlist[itemize]{noitemsep}votre préambule.
Fabian Winkler
Cela ne fonctionne pas sur ma machine, peut-être la version du package?
RSFalcon7
7
@ RSFalcon7: Vous devez spécifier le enumitempackage au préalable: \usepackage{enumitem} \setlist[itemize]{noitemsep}... la définition de itemsep pour tout le document à une certaine valeur fonctionne de cette façon\setlist[itemize]{itemsep=1cm}
petermeissner
@marvin_dpr Merci, le problème est un peu ancien, mais je pense que mon installation de texlive n'était pas la meilleure. Après la réinstallation, tout est revenu tel qu'il était censé être.
RSFalcon7
1
Je voudrais également ajouter que l' nolistsepoption est désormais obsolète , et que son successeur est nosep, qui "tue tout espacement vertical".
larsac07
38

Vous pouvez faire quelque chose comme ceci:

\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}
Bart Kiers
la source
10

Cette question a déjà été posée sur /tex/10684/vertical-space-in-lists . La réponse la plus votée mentionnait également le enumitempackage (ici répondu par Stefan), mais j'aime aussi celui-ci, qui consiste à créer votre propre environnement de liste au lieu de charger un nouveau package:

\newenvironment{myitemize}
{ \begin{itemize}
    \setlength{\itemsep}{0pt}
    \setlength{\parskip}{0pt}
    \setlength{\parsep}{0pt}     }
{ \end{itemize}                  } 

Qui devrait être utilisé comme ceci:

\begin{myitemize} 
  \item one 
  \item two 
  \item three 
\end{myitemize}

Source: https://tex.stackexchange.com/a/136050/12065

Waldir Leoncio
la source
1

compactitem Fait le travail.

\usepackage{paralist}

...

\begin{compactitem}[$\bullet$]
    \item Element 1
    \item Element 2
\end{compactitem}
\vspace{\baselineskip} % new line after list
Vertexwahn
la source