Comment modifier les environnements de liste ?

recherche d'un mot
* 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 1er 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.

Exemple :
\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}
%%%% fin exemple %%%%

* Le petit bout de code ci-dessous, de M. Boyer
(mboyer at robot.ireq.ca), définit les commandes :
+ \noitemsep pour supprimer tout espacement vertical entre les
items des environnements \itemize, \enumerate et \description.
+ \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.

%%%% debut macro %%%%
%% ----------------------------------------------------
%% Copyright (c) 1993 Hydro-Quebec mboyer at 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}
}
%%%% fin macro %%%%

* La macro ci-dessous de T. Murphy permet de remplacer les
numéros de l'environnement enumerate par des caractères grecs :
%%%% debut macro %%%%
\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
%%%% fin macro %%%%

* Les définitions suivantes :
\renewcommand{\labelitemi}{\textbullet}
\renewcommand{\labelitemii}{---}
\renewcommand{\labelitemiii}{votre-label-pour-le-niveau-iii}
\renewcommand{\labelitemiv}{votre-label-pour-le-niveau-iv}
permettent de redéfinir les caractères utilisés par
l'environnement itemize pour ces différents niveaux
d'encapsulation.

Remarque : avec certains packages comme french, il faut placer
	   ces nouvelles définitions de commande après le
	   \begin{document}.

De même, utilisez \descriptionlabel pour changer le style des
étiquettes de l'environment description.

Exemple :
\renewcommand\descriptionlabel[1]{\hspace\labelsep\normalfont%
\itshape #1:}
produit des étiquettes en italique, avec deux points :
\begin{description}
   \item[Carte maîtresse] As
   \item[Carte maîtresse à l'atout] Valet
\end{description}
%%%% fin exemple %%%%

* Pour réduire globalement l'espace entre les items d'une liste
on peut également utiliser le bout de code suivant de M. Wooding
%%%% debut macro %%%%
\makeatletter
\toks@\expandafter{\@listI}
\edef\@listI{\the\toks@\setlength{\parsep}{1pt}}
\makeatother
%%%% fin macro %%%%

* Le package 'mdwlist', de M. Wooding, disponible sur
ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex/contrib/mdwtools/ permet de
redéfinir certains paramètres de mise en page des listes qui ne
sont pas faciles d'accès sous LaTeX.

Retour à la FAQ LaTeX
Proposition de modification de la FAQ LaTeX :
bayartb at edgard point fdn point fr
Commentaire sur la version HTML de cette FAQ :
Fabien Torre
© Copyright 1997 Marie-Paule Kluth. Tous droits réservés.

Valid XHTML 1.0! Valid CSS!