Latex Entfernen Sie Leerzeichen zwischen Elementen in der Liste

Antworten:

172

Mit dem Enumitem-Paket ist es einfacher:

\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}

Beispiel

Das Enumitem-Paket bietet viele Funktionen zum Anpassen von Aufzählungszeichen, Nummerierungen und Längen.

Das Paralist-Paket enthält sehr kompakte Listen: compactitem, compactenum und sogar Listen innerhalb von Absätzen wie inparaenum und inparaitem.

Stefan
quelle
15
Wenn Sie den Abstand für jede Liste in Ihrem Dokument global entfernen möchten, fügen Sie ihn einfach \setlist[itemize]{noitemsep}in Ihre Präambel ein.
Fabian Winkler
Dies funktioniert auf meinem Computer nicht. Könnte die Paketversion sein?
RSFalcon7
7
@ RSFalcon7: Sie müssen das enumitemPaket vorher angeben : \usepackage{enumitem} \setlist[itemize]{noitemsep}... auch das Setzen des itemsep für das gesamte Dokument auf einen bestimmten Wert funktioniert so\setlist[itemize]{itemsep=1cm}
petermeissner
@marvin_dpr Danke, das Problem ist ein bisschen alt, aber ich denke, dass meine Installation von texlive nicht die beste war. Nach der Neuinstallation kehrte alles so zurück, wie es sein sollte.
RSFalcon7
1
Ich möchte auch hinzufügen, dass die nolistsepOption jetzt veraltet ist und dass ihr Nachfolger nosep"alle vertikalen Abstände aufhebt".
Larsac07
38

Sie könnten so etwas tun:

\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
quelle
10

Diese Frage wurde bereits unter /tex/10684/vertical-space-in-lists gestellt . In der Antwort mit der höchsten Bewertung wurde auch das enumitemPaket erwähnt (hier von Stefan beantwortet), aber ich mag auch dieses, bei dem Sie eine eigene Auflistungsumgebung erstellen, anstatt ein neues Paket zu laden:

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

Welches sollte so verwendet werden:

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

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

Waldir Leoncio
quelle
1

compactitem macht den Job.

\usepackage{paralist}

...

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