Latex Rimuovi gli spazi tra gli elementi nell'elenco


Risposte:


172

È più facile con il pacchetto 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}

esempio

Il pacchetto enumitem fornisce molte funzionalità per personalizzare punti elenco, numerazione e lunghezze.

Il pacchetto paralist fornisce elenchi molto compatti: compactitem, compactenum e persino elenchi all'interno di paragrafi come inparaenum e inparaitem.


15
Se vuoi rimuovere globalmente la spaziatura per ogni elenco nel tuo documento, inseriscilo \setlist[itemize]{noitemsep}nel preambolo.
Fabian Winkler

Non funziona sulla mia macchina, potrebbe essere la versione del pacchetto?
RSFalcon7

7
@ RSFalcon7: È necessario specificare in enumitemanticipo il pacchetto: \usepackage{enumitem} \setlist[itemize]{noitemsep}... anche l'impostazione di itemep per l'intero documento su un certo valore funziona in questo modo\setlist[itemize]{itemsep=1cm}
petermeissner

@marvin_dpr Grazie, il problema è un po 'vecchio, ma penso che la mia installazione di texlive non sia stata delle migliori. Dopo la reinstallazione tutto è tornato come avrebbe dovuto essere.
RSFalcon7

1
Vorrei anche aggiungere che l' nolistsepopzione è ora deprecata e che il suo successore è nosep, che "elimina tutta la spaziatura verticale".
larsac07

38

Potresti fare qualcosa del genere:

\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

Questa domanda è già stata posta su /tex/10684/vertical-space-in-lists . La risposta più votata ha menzionato anche il enumitempacchetto (qui risposto da Stefan), ma mi piace anche questo, che prevede la creazione di un proprio ambiente di creazione degli elementi invece di caricare un nuovo pacchetto:

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

Quale dovrebbe essere usato in questo modo:

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

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


1

compactitem fa il lavoro.

\usepackage{paralist}

...

\begin{compactitem}[$\bullet$]
    \item Element 1
    \item Element 2
\end{compactitem}
\vspace{\baselineskip} % new line after list
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.