127 votes

Supprimer les espaces entre les éléments d'une liste LaTeX

Quel est le meilleur moyen de formater une liste pour supprimer les espaces entre les éléments de la liste.

1 votes

208voto

Stefan Points 1574

C'est plus facile avec le package enumitem:

\documentclass{article}
\usepackage{enumitem}
\begin{document}
Moins d'espace:
\begin{itemize}[noitemsep]
  \item foo
  \item bar
  \item baz
\end{itemize}

Encore plus compact:
\begin{itemize}[noitemsep,nolistsep]
  \item foo
  \item bar
  \item baz
\end{itemize}
\end{document}

example

Le package enumitem offre 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.

20 votes

Si vous souhaitez supprimer l'espacement globalement pour chaque liste dans votre document, il vous suffit d'ajouter \setlist[itemize]{noitemsep} dans votre préambule.

0 votes

Cela ne fonctionne pas sur ma machine, pourrait-il s'agir de la version du package ?

12 votes

@RSFalcon7 : Vous devez spécifier le package enumitem au préalable : \usepackage{enumitem} \setlist[itemize]{noitemsep} ... en définissant également la distance entre les éléments pour tout le document à une certaine valeur de cette manière : \setlist[itemize]{itemsep=1cm}

50voto

Bart Kiers Points 79069

Vous pourriez faire quelque chose comme ceci :

\documentclass{article}

\begin{document}

Normal:

\begin{itemize}
  \item foo
  \item bar
  \item baz
\end{itemize}

Moins d'espace:

\begin{itemize}
  \setlength{\itemsep}{1pt}
  \setlength{\parskip}{0pt}
  \setlength{\parsep}{0pt}
  \item foo
  \item bar
  \item baz

13voto

Waldir Leoncio Points 1418

Cette question a déjà été posée sur https://tex.stackexchange.com/questions/10684/vertical-space-in-lists. La réponse la mieux notée mentionne également le package enumitem (ici répondu par Stefan), mais j'aime aussi celle-ci, qui consiste à créer votre propre environnement d'itemisation 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é de cette manière :

\begin{myitemize}
  \item un
  \item deux
  \item trois
\end{myitemize>

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

2voto

Vertexwahn Points 2095

compactitem fait le travail.

\usepackage{paralist}

...

\begin{compactitem}[$\bullet$]
    \item Élément 1
    \item Élément 2
\end{compactitem}
\vspace{\baselineskip} % nouvelle ligne après la liste

1voto

aljoshoh Points 1

Vous pouvez utiliser ceci avec des nombres négatifs pour changer la séparation manuellement

\begin{itemize}
\itemsep-1.5em
  \item foo
  \item bar
  \item baz
\end{itemize}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X