%3F.png)
Elenumitem
documentación del paquetedice:
\topsep
,\itemsep
,\partopsep
,\parsep
?
Ok, no dice eso del todo, pero tampoco ilustra lo que significan estas dimensiones. ¿Puedo obtener un diagrama de lo que significa cada uno de estos? ¿Y cuál es el equivalente \bottomsep
?
Respuesta1
El libro de Leslie Lamport,LaTeX: un sistema de preparación de documentos(1994) tiene una figura como la que usted pidió en la página 113, que explica, entre otras cosas, que el espacio vertical en la parte inferior de una lista es siempre el mismo que el espacio en la parte superior. Esto último depende de las circunstancias, es decir, de si la lista se inició o no en modo vertical.
Esta es la figura correspondiente en “The LaTeX Companion”
Respuesta2
Ok, ya que hiciste la pregunta con una imagen, responderé con una (más o menos).
Resumen
\itemsep
= espacio vertical agregado después de cada elemento de la lista.\parsep
= espacio vertical agregado después de cada párrafo de la lista.\topsep
= espacio vertical agregado encima y debajo de la lista.\partopsep
= espacio vertical agregado encima y debajo de la lista, pero solo si la lista comienza un nuevo párrafo.
Documento de muestra
\documentclass[]{article}
\usepackage[margin=1in]{geometry}
\parindent=0pt
\usepackage{enumitem}
\usepackage{fancyvrb}
\DefineShortVerb{\|}
\newcommand{\longline}{This is a line of text that will form a paragraph which we can use in various places.\par}
\newcommand{\printvalues}{topsep=\the\topsep; itemsep=\the\itemsep; parsep=\the\parsep; partopsep=\the\partopsep}
\begin{document}
\hrulefill
\begin{enumerate}[topsep=0pt,itemsep=0pt,parsep=0pt,partopsep=0pt]
\item\printvalues
\item With all |*sep| values set to 0pt there is no space above or below the enumeration nor between the items or paragraphs within the items.
\item\longline
\end{enumerate}
\hrulefill\par
\hrulefill
\begin{enumerate}[topsep=0pt,itemsep=20pt,parsep=0pt,partopsep=0pt]
\item\printvalues
\item When we set |\itemsep| then this much space is placed between items but no space between paragraphs within an item.
\item\longline\longline
\end{enumerate}
\hrulefill\par
\hrulefill
\begin{enumerate}[topsep=0pt,itemsep=0pt,parsep=20pt,partopsep=0pt]
\item\printvalues
\item When we set |\parsep| then this much space is placed after every paragraph within an item. This will effectively also separate items too, since each single paragraph item will have the |\parsep| space after it.
\item\longline\longline
\end{enumerate}
\hrulefill\par
\hrulefill
\begin{enumerate}[topsep=20pt,itemsep=0pt,parsep=0pt,partopsep=0pt]
\item\printvalues
\item When we set |\topsep| this much space is placed above and below the enumeration.
\end{enumerate}
\hrulefill
\begin{enumerate}[topsep=0pt,itemsep=0pt,parsep=0pt,partopsep=20pt]
\item\printvalues
\item When we set |\partopsep| this much space will be placed before and after a list only if the list is preceded by a |\par| (i.e., starts a new paragraph)
\item This enumerate is not preceded by a |\par| so no space is added.
\end{enumerate}
\hrulefill\par
\hrulefill\par
\begin{enumerate}[topsep=0pt,itemsep=0pt,parsep=0pt,partopsep=20pt]
\item\printvalues
\item When we set |\partopsep| this much space will be placed before and after a list only if the list is preceded by a |\par| (i.e., starts a new paragraph)
\item This enumerate is preceded by a |\par| so space is added.
\end{enumerate}
\hrulefill
\end{document}