[Résolu] Numérotation avec enumitem et itemize

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Numérotation avec enumitem et itemize

Messagepar zorba » Dimanche 15 Août 2010, 17:16

Bonjour,

J'ai une difficulté pour sortir des listes simples avec enumitem. Impossible de sortir les numéros sous la forme (i), (ii), en dépit du code que j'ai copié depuis la documentation. Je n'ai pas retrouvé d'exemples sur le forum parmi les différents messages où ce genre de question a été posée. Il me semble pourtant que j'avais réussi à rédiger sous la forme désirée, mais je ne me souviens plus comment j'avais fait.

Voici mon exemple ECM avec les explications dans le programme :

Code: Tout sélectionner
\documentclass[11pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{geometry,url,colortbl}
\frenchbsetup{StandardLists=true}
\usepackage{enumitem}

\geometry{textwidth=130mm,textheight=260mm,top=2cm}
\author{Zorba}
\begin{document}
\newcount\hh
\newcount\mm
\mm=\time
\hh=\time
\divide\hh by 60
\divide\mm by 60
\multiply\mm by 60
\mm=-\mm
\advance\mm by \time
\def\hhmm{\number\hh\string:\ifnum\mm<10{}0\fi\number\mm}
\noindent \today\, à \hhmm

Fichier : \jobname

\begin{center}
\colorbox[gray]{0.95}{
\begin{minipage}{0.95\textwidth}
\textbf{Suites adjacentes : Définition}
\\
On dit que deux suites $(u_n)$ et $(v_n)$ sont adjacentes lorsque :

\begin{itemize}[leftmargin=*,label=--]
\item l'une des deux suites est croissante et l'autre décroissante;
\item $\lim_{n\mapsto +\infty}(v_n-u_n)=0$.
\end{itemize}
\end{minipage}
}
Présentation assez standard me convenant dans la majorité des cas.
\end{center}

\begin{center}
\colorbox[gray]{0.95}{
\begin{minipage}{0.95\textwidth}
\textbf{Suites adjacentes : Définition}
\\
On dit que deux suites $(u_n)$ et $(v_n)$ sont adjacentes lorsque :
\begin{itemize}[leftmargin=*,label=--]
%\begin{enumerate}[leftmargin=*,label=\roman(*)]
\item \textbf{(i)} l'une des deux suites est croissante et l'autre décroissante;
\item \textbf{(ii)} $\lim_{n\mapsto +\infty}(v_n-u_n)=0$.
\end{itemize}
\end{minipage}
}
 
\end{center}
Dans ce second et dernier exemple, je souhaite remplacer le tiret par les séquences (i) et (ii)en gras, mais je n'arrive pas à rédiger le code correct. L'instruction begin en commentaire venant d'un exemple de la documentation anglaise d'enumitem.
\end{document}


Je remercie d'avance pour l'aide apportée.
Bonne fin de weekend.
Pierre
Dernière édition par zorba le Mardi 17 Août 2010, 03:45, édité 1 fois.
On se lasse de tout, excepté d'apprendre. Virgile
zorba
Giga-utilisateur
 
Messages: 522
Inscription: Lundi 01 Juin 2009, 10:35
Statut actuel: Actif et salarié

Publicité

Re: Numérotation avec enumitem et itemize

Messagepar balf » Dimanche 15 Août 2010, 18:02

En chargeant enumitem avec l'option shortlabels, il suffit d'écrire :

Code: Tout sélectionner
\begin{enumerate}[\bfseries(i), leftmargin=*]%


(ne pas oublier dans ce cas de commencer par la description du « label »).
Sans l'option :

Code: Tout sélectionner
\begin{enumerate}[leftmargin=*, label=\bfseries(\roman*)]%


B.A.
balf
Zetta-utilisateur
 
Messages: 3858
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Numérotation avec enumitem et itemize

Messagepar zorba » Dimanche 15 Août 2010, 19:45

Re,
merci de l'aide, reste que les items ne sont pas alignés comme dans le premier exemple avec les tirets. J'ai essayé leftmargin=0pt, les nos sont alors dans la marge, l'horreur.
Voici le dernier code presque au point :

Code: Tout sélectionner
\documentclass[11pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{geometry,url,colortbl}
\frenchbsetup{StandardLists=true}
\usepackage{enumitem}

\geometry{textwidth=130mm,textheight=260mm,top=2cm}
\author{Zorba}
\begin{document}
\newcount\hh
\newcount\mm
\mm=\time
\hh=\time
\divide\hh by 60
\divide\mm by 60
\multiply\mm by 60
\mm=-\mm
\advance\mm by \time
\def\hhmm{\number\hh\string:\ifnum\mm<10{}0\fi\number\mm}
\noindent \today\, à \hhmm

Fichier : \jobname

\begin{center}
\colorbox[gray]{0.95}{
\begin{minipage}{0.95\textwidth}
\textbf{Suites adjacentes : Définition}
\\
On dit que deux suites $(u_n)$ et $(v_n)$ sont adjacentes lorsque :

\begin{itemize}[leftmargin=*,label=--]
\item l'une des deux suites est croissante et l'autre décroissante;
\item $\lim_{n\mapsto +\infty}(v_n-u_n)=0$.
\end{itemize}
\end{minipage}
}
Présentation assez standard me convenant dans la majorité des cas.
\end{center}

\begin{center}
\colorbox[gray]{0.95}{
\begin{minipage}{0.95\textwidth}
\textbf{Suites adjacentes : Définition}
\\
On dit que deux suites $(u_n)$ et $(v_n)$ sont adjacentes lorsque :
%\begin{itemize}[leftmargin=*,label=--]
\begin{enumerate}[leftmargin=*, label=\bfseries(\roman*),widest=(ii)]
\item l'une des deux suites est croissante et l'autre décroissante;
\item $\lim_{n\mapsto +\infty}(v_n-u_n)=0$.
\end{enumerate}
\end{minipage}
}
 
\end{center}
Dans ce second et dernier exemple, après avoir réglé les numéros de séquence (i) et (ii), je souhaite que ces items soient alignés sur la marge, comme dans le premier exemple.
\end{document}


Merci d'avance pour les conseils.
Bonne soirée.
Pierre
On se lasse de tout, excepté d'apprendre. Virgile
zorba
Giga-utilisateur
 
Messages: 522
Inscription: Lundi 01 Juin 2009, 10:35
Statut actuel: Actif et salarié

Re: Numérotation avec enumitem et itemize

Messagepar balf » Lundi 16 Août 2010, 09:53

Est-ce que cette solution conviendrait ? Il faut mettre dans le préambule :

Code: Tout sélectionner
\newlength{\lblwidth}
\settowidth{\lblwidth}{\bfseries (ii)}


et pour la liste elle-même :

Code: Tout sélectionner
\begin{enumerate}[fullwidth,label =\hspace{\lblwidth}\llap{\bfseries(\roman*)}, labelsep=0.5em, itemindent =0pt]%
\item l'une des deux suites est croissante et l'autre décroissante;
\item $\lim_{n\mapsto +\infty}(v_n-u_n)=0$.
\end{enumerate}


et de même :

Code: Tout sélectionner
\begin{itemize}[fullwidth, label=\hspace{\lblwidth}\llap{--}]


Les labels sont alignés verticalement à leur droite.

L'option fullwidth suffirait pour les aligner par leur gauche, mais le corps du texte lui-même commence à une distance fixe du label, et comme celui-ci est de taille variable, cela entraîne que, d'un « item » à l'autre, le corps ne commence pas au même point sur la ligne. D'où le stockage manuel de la plus grande longueur de label et l'appel à la commande \llap.

B.A.
Fichiers joints
essaienumitem.pdf
Balises Code !
(145.34 Kio) Téléchargé 149 fois
balf
Zetta-utilisateur
 
Messages: 3858
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Numérotation avec enumitem et itemize

Messagepar balf » Lundi 16 Août 2010, 10:06

Rajoutis : si on veut aligner les labels par la gauche, tout en commençant le corps au même ponit il suffit de remplacer

Code: Tout sélectionner
label =\hspace{\lblwidth}\llap{\bfseries(\roman*)}


par

Code: Tout sélectionner
label=\rlap{\bfseries(\roman*)}\hspace{\lblwidth}


Mais personnellement, je trouve que ce n'est pas très heureux (sans doute dû au mélange d'itemize et d'enumerate).

B.A.
Fichiers joints
essaienumitem2.pdf
(145.34 Kio) Téléchargé 136 fois
balf
Zetta-utilisateur
 
Messages: 3858
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Numérotation avec enumitem et itemize

Messagepar zorba » Lundi 16 Août 2010, 13:27

Re - bonjour,
Merci pour le soin donné à ma demande, j'apprécie l'intérêt des choix proposés.
Personnellement, c'est la première solution que je trouve la plus réussie, tout est bien aligné, enumerate et itemize et les labels. C'est celle que je vais retenir.
Pour info. , les auteurs du livre qui me sert de base pour travailler, ont fait le choix d'aligner les items (ii) sur la marge de gauche et de commencer le texte après un espacement constant, ce qui fait que le texte n'est jamais aligné avec la présentation roman*. J'avoue humblement ne pas bien saisir les raisons des changements de forme de numérotation, la majorité des items restant numérotés avec des chiffres arabes, où les problèmes d'alignement n' existent pas, de (1) à (9) tout s'aligne impeccablement, et il n'y a jamais plus de 9 items.
Merci de l'aide,
A une autre occasion.
Pierre
On se lasse de tout, excepté d'apprendre. Virgile
zorba
Giga-utilisateur
 
Messages: 522
Inscription: Lundi 01 Juin 2009, 10:35
Statut actuel: Actif et salarié


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Ahrefs [Bot], Bing [Bot], Google [Bot], MSN [Bot] et 17 invités