Comment modifier les environnements de liste?
L'environnement
list
permet de définir son propre style de
liste. Sa syntaxe est la suivante :
\begin{list}{label}{mep} ... \end{list}
L'argument {label}
permet de définir le symbole qui sera
associé à chaque élément de la liste,
{mep}
permet de définir la mise en page des éléments de la
liste. Les paramètres utilisés pour définir cette mise en page
sont les suivants :
topsep
espace vertical supplémentaire (ajoute à\parskip
) inséré entre le texte précédant la liste et le premier objet de la liste;partosep
espace vertical supplémentaire inséré devant la liste si celle-ci est précédée d'une ligne blanche;itemsep
espace vertical supplémentaire (ajouté à\parsep
) inséré entre les éléments d'une liste.
Création d'un environnement de liste:
\newenvironment{maliste}% { \begin{list}% {$\bullet$}% {\setlength{\labelwidth}{30pt}% \setlength{\leftmargin}{35pt}% \setlength{\itemsep}{\parsep}}}% { \end{list} } Utilisation : \begin{maliste} \item premier élément \item deuxième élément \begin{maliste} \item petit 1 \item petit 2 \end{maliste} \end{maliste}
Le petit bout de code du source suivant
définit les commandes :
noitemsep
pour supprimer tout espacement vertical entre les items des environnementsitemize
,enumerate
etdescription
.doitemsep
pour les remettre.
Pour l'utiliser, il suffit de le sauvegarder dans un fichier sty
et de l'inclure dans son document par une commande \usepackage
.
- boyer.sty
%%%% debut macro %%%% %% ----------------------------------------------- %% Copyright (c) 1993 Hydro-Quebec %% mboyer@robot.ireq.ca %% ----------------------------------------------- %% Bring items closer together in list environments % Prevent infinite loops \let\orig@Itemize =\itemize \let\orig@Enumerate =\enumerate \let\orig@Description =\description % Zero the vertical spacing parameters \def\Nospacing{\itemsep=0pt\topsep=0pt% \partopsep=0pt\parskip=0pt% \parsep=0pt} % Redefinition de art12.sty pour commencer a la % marge de gauche %\leftmargini 1.2em % 2.5em \def\noitemsep{ % Redefine the environments in terms of the original % values \renewenvironment{itemize} {\orig@Itemize\Nospacing}{\endlist} \renewenvironment{enumerate} {\orig@Enumerate\Nospacing}{\endlist} \renewenvironment{description} {\orig@Description\Nospacing}% {\endlist} } \def\doitemsep{ % Redefine the environments to the original values \renewenvironment{itemize} {\orig@Itemize}{\endlist} \renewenvironment{enumerate} {\orig@Enumerate}{\endlist} \renewenvironment{description} {\orig@Description}{\endlist} }
La macro de \nom{T.}{Murphy} présentée dans cet exemple
permet de remplacer les numéros de l'environnement
enumerate
par des lettres grecques. On pourra préférer appliquer cette macro
sur l'environnement enumerate
modifié par le package enumerate.
Numéroter en lettres grecques dans enumerate
:
\makeatletter \def\greek#1{\expandafter\@greek \csname c@#1\endcsname} \def\@greek#1{\ifcase#1\or $\alpha$\or $\beta$\fi}% as many as you % need \renewcommand{\theenumi}{\greek{enumi}} \makeatother ... \begin{enumerate} \item Un \item Deux \item Trois \end{enumerate}
Les définitions suivantes permettent de redéfinir les caractères utilisés par
l'environnement
itemize
pour ces différents niveaux d'encapsulation:
\renewcommand{\labelitemi}{\textbullet} \renewcommand{\labelitemii}{---} \renewcommand{\labelitemiii}{votre-label-niveau-iii} \renewcommand{\labelitemiv}{votre-label-niveau-iv}
\begin{document}
.
De même, utilisez \descriptionlabel
pour changer le style des
étiquettes de l'environnent description
.
\renewcommand\descriptionlabel[1]{% \hspace\labelsep\normalfont \itshape #1:} produit des étiquettes en italique, avec deux points : \begin{description} \item[Carte ma\^itresse] As \item[Carte ma\^itresse à l'atout] Valet \end{description}
Pour réduire l'espace entre les items de toutes les listes
on peut également utiliser le bout de code suivant de \nom{M.}{Wooding}
\makeatletter \toks@\expandafter{\@listI} \edef\@listI{\the\toks@\setlength{\parsep}{1pt}} \makeatother
Le package mdwlist, de \nom{M.}{Wooding} permet de
redéfinir certains paramètres de mise en page des listes qui ne
sont pas faciles d'accès sous
.