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.


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}

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


1

compactitem Fait le travail.

\usepackage{paralist}

...

\begin{compactitem}[$\bullet$]
    \item Element 1
    \item Element 2
\end{compactitem}
\vspace{\baselineskip} % new line after list
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.