Látex Eliminar espacios entre elementos de la lista

Respuestas:

172

Es más fácil con el paquete 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}

ejemplo

El paquete enumitem proporciona muchas características para personalizar viñetas, numeración y longitudes.

El paquete paralist proporciona listas muy compactas: compactitem, compactenum e incluso listas dentro de párrafos como inparaenum e inparaitem.

Stefan
fuente
15
Si desea eliminar el espaciado globalmente para cada lista en su documento, simplemente incluya \setlist[itemize]{noitemsep}su preámbulo.
Fabian Winkler
Esto no funciona en mi máquina, ¿podría ser la versión del paquete?
RSFalcon7
7
@ RSFalcon7: Debe especificar el enumitempaquete de antemano: \usepackage{enumitem} \setlist[itemize]{noitemsep}... también la configuración de itemsep para todo el documento en un cierto valor funciona de esa manera\setlist[itemize]{itemsep=1cm}
petermeissner
@marvin_dpr Gracias, el problema es un poco viejo, pero creo que mi instalación de texlive no fue la mejor. Después de la reinstalación, todo volvió a ser como se suponía.
RSFalcon7
1
También me gustaría agregar que la nolistsepopción ahora está en desuso , y que su sucesor es nosep, que "mata todo el espaciado vertical".
larsac07
38

Podrías hacer algo como esto:

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

Esta pregunta ya se hizo en /tex/10684/vertical-space-in-lists . La respuesta más votada también mencionó el enumitempaquete (aquí respondido por Stefan), pero también me gusta este, que implica crear su propio entorno de detallado en lugar de cargar un nuevo paquete:

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

Que debería usarse así:

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

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

Waldir Leoncio
fuente
1

compactitem hace el trabajo.

\usepackage{paralist}

...

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