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.


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}

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


1

compactitem macht den Job.

\usepackage{paralist}

...

\begin{compactitem}[$\bullet$]
    \item Element 1
    \item Element 2
\end{compactitem}
\vspace{\baselineskip} % new line after list
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.