je rencontre plusieurs problèmes avec les espaces verticaux de mes listes personnalisées via le package enumitem.
si on regarde la doc on y lit que les variables d'espaces verticaux classiques (\topsep, \partopsep, etc... ) sont reprises dans le package.
1) Je constate que, par exemple, faire
\setlength{\topsep}{1mm}
n'est pas "actif" lorsque \setlist[topsep=1mm]
l'est, pourquoi ?en revanche faire
\setlength{\partopsep}{3mm}
est équivalent à \setlist[partopsep=1mm]
??Tout semble se passer comme si certaines des variables \topset, \itemsep, etc... étaient non utilisées et substituées par d'autres du type topsep, itemsep, etc... à mettre dans \setlist
Voir dans l'ECM list A versus list B
2) dans une list la même doc précise bien que les espaces verticaux sont contrôlés par \topsep+\parskip+\partopsep d'une part et \parsep ou \itemsep+\parsep d'autre part.
Il y a la possibilité d'écraser complètement tout espace vertical avec \setlist{nosep} or ca ne fait pas non plus la même chose que de mettre tous les paramétrer stopsep, itemsep, etc... à 0 dans le \setlist. Pourquoi ?
Voir dans l'ECM list B versus list C
Ci-dessous un ECM.
Code : Tout sélectionner
\documentclass{article}
\usepackage{enumitem} % pour créer un index
\begin{document}
\setlength{\topsep}{3cm}% inactif
\setlength{\parsep}{2cm}% inactif
\setlength{\partopsep}{3mm}% actif
\setlength{\itemsep}{200mm} % inactif
\setlength{\parskip}{0pt}% actif ?
%
\hrulefill
%
texte précédant la liste A
\begin{itemize}
\item au niveau 1
\begin{itemize}
\item puce de niveau 2
\item autre puce de niveau 2
\end{itemize}
\item encore au niveau 1
\end{itemize}
texte suivant la liste A
%
\hrulefill
%
texte précédant la liste B
\begin{itemize}[partopsep=3mm, topsep=0pt, parsep=0pt, itemsep=0pt]
\item au niveau 1
\begin{itemize}
\item puce de niveau 2
\item autre puce de niveau 2
\end{itemize}
\item encore au niveau 1
\end{itemize}
texte suivant la liste B
%
\hrulefill
%
\setlist{nosep, partopsep=3mm}
texte précédant la liste C
\begin{itemize}
\item au niveau 1
\begin{itemize}
\item puce de niveau 2
\item autre puce de niveau 2
\end{itemize}
\item encore au niveau 1
\end{itemize}
texte suivant la liste C
\hrulefill
%
% pour renvoyer les valeurs des variables
%pour topsep : \the\topsep \\
%pour parsep : \the\parsep \\
%pour partopsep : \the\partopsep \\
%pour itemsep : \the\itemsep \\
%pour labelsep : \the\labelsep \\
%pour itemindent : \the\itemindent \\
%
%pour parskip : \the\parskip \\
\end{document}