Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
composition:texte:listes:interrompre_une_liste_numerotee [2018/12/03 23:42] jejust3_composition:texte:listes:interrompre_une_liste_numerotee [2022/11/29 20:23] (Version actuelle) – [Avec l'extension “mdwlist”] Usage de ⟨...⟩ dbitouze
Ligne 1: Ligne 1:
-====== Interrupting enumerated lists ======+====== Comment interrompre temporairement une liste numérotée? ======
  
 +Il est souvent pratique d'avoir un texte de commentaire, « en dehors » de la liste, entre les entrées successives d'une liste. La situation est ici fonction du type d'environnement utilisé :
 +  * avec l'environnement ''itemize'', ce n'est pas un problème, car rien ne distingue les éléments successifs ;
 +  * avec l'environnement ''description'', les étiquettes des éléments sont sous le contrôle de l'utilisateur et il n'y a donc pas de problème de continuité ;
 +  * avec l'environnement ''enumerate'', la numérotation de la liste est générée automatiquement et est sensible au contexte. Il faut donc ici conserver l'état du compteur d'énumération pour poursuivre la liste après l'avoir interrompu. C'est ce cas qui est développé ici.
  
-It's often convenient to have commentary text, "outside" the list, +===== Avec les commandes de base =====
-between successive entries of a list.  In the case of +
-''itemize'' lists this is no problem, since there's never +
-anything to distinguish successive items, while in the case of +
-''description'' lists, the item labels are under the user'+
-control so there's no automatic issue of continuity.+
  
-For ''enumerate'' liststhe labels are generated +L'approche consiste ici à conserver l'état de l'énumération dans un compteur créé pour l'occasionpuis à le restaurer lors de la reprise de l'énumération :
-automatically, and are context-sensitive, so the context (in this +
-case, the state of the enumeration counter) needs to be preserved. +
- +
-The belt-and-braces approach is to remember the state of the +
-enumeration in your own counter variable, and then restore it when +
-restarting enumerate:+
  
 +<WRAP column 51ex>
 <code latex> <code latex>
-\newcounter{saveenum} +\documentclass{article} 
- ...+  \newcounter{saveenum} 
 + 
 +\begin{document} 
 +Cette liste est :
 \begin{enumerate} \begin{enumerate}
-  ...+  \item claire ; 
 +  \item précise ;
   \setcounter{saveenum}{\value{enumi}}   \setcounter{saveenum}{\value{enumi}}
 \end{enumerate} \end{enumerate}
-<Commentary text>+Cela n'était pas bien compliqué.
 \begin{enumerate} \begin{enumerate}
   \setcounter{enumi}{\value{saveenum}}   \setcounter{enumi}{\value{saveenum}}
-  ...+  \item et complète.
 \end{enumerate} \end{enumerate}
 +\end{document}
 </code> </code>
 +</WRAP>
 +<WRAP column 30ex>
 +<latexdoc>
 +\documentclass{article}
 +  \newcounter{saveenum}
 +  \pagestyle{empty}
  
-This is reasonable, in small doses... Problems (apart from sheer +\begin{document} 
-verbosity) are getting the level right +Cette liste est : 
-("should I use counter ''enumi'', ''enumii'', ...") and remembering not to +\begin{enumerate} 
-nest the interruptions (i.e., not to have a separate list, that is +  \item claire ; 
-itself interrupted) in the "commentary text").+  \item précise ; 
 +  \setcounter{saveenum}{\value{enumi}} 
 +\end{enumerate} 
 +Cela n'était pas bien compliqué
 +\begin{enumerate} 
 +  \setcounter{enumi}{\value{saveenum}} 
 +  \item et complète
 +\end{enumerate} 
 +\end{document} 
 +</latexdoc> 
 +</WRAP> 
 +<WRAP clear />
  
-The [[ctanpkg>mdwlist|mdwlist]] package defines commands ''\suspend'' and +Cette méthode est raisonnable à petites doses... Les problèmes, en dehors de la lisibilité, sont d'obtenir le bon niveau (faut-il utiliser le compteur ''enumi''''enumii''...) et d'éviter d'avoir des listes interrompues dans le commentaire lui-même.
-''\resume'' that simplify the process:+
  
 +Par ailleurs, si vous suspendez une [[3_composition:texte:listes:modifier_le_style_des_listes_numerotees |liste avec un style de numérotation modifié]], vous devez fournir à nouveau les paramètres optionnels requis par l'extension [[ctanpkg>enumerate|enumerate]] lors de la reprise la liste.
 +
 +
 +===== Avec l'extension “mdwlist” =====
 +
 +L'extension [[ctanpkg>mdwlist]] définit les commandes ''\suspend'' et ''\resume'' pour simplifier ce processus:
 +
 +<WRAP column 51ex>
 <code latex> <code latex>
 +\documentclass{article}
 +  \usepackage{mdwlist}
 +
 +\begin{document}
 +Cette liste est :
 \begin{enumerate} \begin{enumerate}
-  ...+  \item claire ; 
 +  \item précise ;
 \suspend{enumerate} \suspend{enumerate}
-<Commentary text>+Cela n'était pas bien compliqué.
 \resume{enumerate} \resume{enumerate}
-  ...+  \item et complète.
 \end{enumerate} \end{enumerate}
 +\end{document}
 </code> </code>
-The package allows an optional name (as in +</WRAP> 
-''\suspend[id]{enumerate}'') to allow you to identify a +<WRAP column 30ex> 
-particular suspension, and hence provide a handle for manipulating +<latexdoc> 
-nested suspensions.+\documentclass{article
 +  \usepackage{mdwlist} 
 +  \pagestyle{empty}
  
-If you're suspending a [[FAQ-enumerate|fancy-enumeration list]], +\begin{document} 
-you need to  +Cette liste est : 
-re-supply the optional "item label layout" parameters required by +\begin{enumerate} 
-the [[ctanpkg>enumerate|enumerate]] package when resuming the list, whether by the +  \item claire ; 
-belt-and-braces approach, or by the [[ctanpkg>mdwlist|mdwlist]] +  \item précise ; 
-''\resume{enumerate}'' technique The task is a little tedious +\suspend{enumerate
-in the [[ctanpkg>mdwlist|mdwlist]] case, since the optional argument has to be +Cela n'était pas bien compliqué. 
-encapsulatedwholeinside an optional argument to ''\resume''+\resume{enumerate} 
-which requires use of extra braces:+  \item et complète. 
 +\end{enumerate} 
 +\end{document} 
 +</latexdoc
 +</WRAP> 
 +<WRAP clear /> 
 + 
 +L'extension permet de tenir compte d'un identifiant facultatif (sur le modèle ''\suspend[⟨id⟩]{enumerate}'') pour vous permettre d'identifier une suspension particulière, et donc de bien l'isoler des autres pour gérer par exemple des suspensions imbriquées
 + 
 +Tout comme dans la méthode basique, si vous suspendez une [[3_composition:texte:listes:modifier_le_style_des_listes_numerotees |liste avec un style de numérotation modifié]], vous devez fournir à nouveau les paramètres optionnels requis par l'extension [[ctanpkg>enumerate|enumerate]]. La tâche est ici un peu fastidieuse car l'argument optionnel doit être encapsuléen entierà l'intérieur d'un argument optionnel de ''\resume'' et ceci nécessite l'utilisation d'accolades supplémentaires :
  
 +<WRAP column 51ex>
 <code latex> <code latex>
 +\documentclass{article}
 +  \usepackage{mdwlist}
 +  \usepackage{enumerate}
 +
 +\begin{document}
 +Cette liste est :
 \begin{enumerate}[\textbf{Item} i] \begin{enumerate}[\textbf{Item} i]
-  ...+  \item claire ; 
 +  \item précise ;
 \suspend{enumerate} \suspend{enumerate}
-<comment>+Cela n'était pas bien compliqué.
 \resume{enumerate}[{[\textbf{Item} i]}] \resume{enumerate}[{[\textbf{Item} i]}]
-...+  \item et complète.
 \end{enumerate} \end{enumerate}
 +\end{document}
 </code> </code>
-The [[ctanpkg>enumitem|enumitem]] packagein its most recent +</WRAP> 
-release, will also allow you to resume lists:+<WRAP column 30ex> 
 +<latexdoc> 
 +\documentclass{article} 
 +  \usepackage{mdwlist} 
 +  \usepackage{enumerate} 
 +  \pagestyle{empty} 
 + 
 +\begin{document} 
 +Cette liste est : 
 +\begin{enumerate}[\textbf{Item} i] 
 +  \item claire ; 
 +  \item précise ; 
 +\suspend{enumerate} 
 +Cela n'était pas bien compliqué. 
 +\resume{enumerate}[{[\textbf{Item} i]}] 
 +  \item et complète. 
 +\end{enumerate} 
 +\end{document} 
 +</latexdoc> 
 +</WRAP> 
 +<WRAP clear /> 
 + 
 +===== Avec l'extension “expdlist” ===== 
 + 
 +L'extension [[ctanpkg>expdlist]] a une manière différente d'aborder le problèmeavec sa commande ''\listpart''. L'argument de la commande devient en effet un commentaire entre les éléments de la liste :
  
 +<WRAP column 51ex>
 <code latex> <code latex>
 +\documentclass{article}
 +  \usepackage{expdlist}
 +
 +\begin{document}
 +Cette liste est :
 \begin{enumerate} \begin{enumerate}
-... +  \item claire ; 
-\end{enumerate} +  \item précise ; 
-<comment> +  \listpart{Cela n'était pas bien compliqué.
-\begin{enumerate}[resume] +  \item et complète.
-...+
 \end{enumerate} \end{enumerate}
 +\end{document}
 </code> </code>
-which feels just as "natural" as the [[ctanpkg>mdwtools|mdwtools]] facility, +</WRAP
-and has the advantage of playing well with the other excellent +<WRAP column 30ex> 
-facilities of [[ctanpkg>enumitem|enumitem]].+<latexdoc> 
 +\documentclass{article} 
 +  \usepackage{expdlist} 
 +  \pagestyle{empty} 
 +\begin{document} 
 +Cette liste est : 
 +\begin{enumerate} 
 +  \item claire ; 
 +  \item précise ; 
 +  \listpart{Cela n'était pas bien compliqué.
 +  \item et complète. 
 +\end{enumerate} 
 +\end{document} 
 +</latexdoc> 
 +</WRAP> 
 +<WRAP clear />
  
-[[ctanpkg>Expdlist|Expdlist]] has neat way of providing for commentswith its +Ceci signifie qu'il n'même pas à penser à suspendre ou à reprendre la listeet bien sûr, cela fonctionne aussi bien dans n'importe quel environnement de liste.
-''\listpart'' command The command's argument becomes a comment +
-between items of the list:+
  
 +===== Avec l'extension “enumitem” =====
 +
 +L'extension [[ctanpkg>enumitem]], dans ses versions récentes, vous permettra également d'interrompre et de reprendre des listes :
 +
 +<WRAP column 51ex>
 <code latex> <code latex>
 +\documentclass{article}
 +  \usepackage{enumitem}
 +
 +\begin{document}
 +Cette liste est :
 \begin{enumerate} \begin{enumerate}
-\item item 1 +  \item claire ; 
-\item item 2 +  \item précise ;
-  \listpart{interpolated comment} +
-\item item 3+
 \end{enumerate} \end{enumerate}
 +Cela n'était pas bien compliqué.
 +\begin{enumerate}[resume]
 +  \item et complète.
 +\end{enumerate}
 +\end{document}
 </code> </code>
-This, you will realise, means it doesn't even have to think about +</WRAP> 
-suspending or resuming the list, and of course it works equally well +<WRAP column 30ex> 
-in any of the list environments (thought it's not actually +<latexdoc> 
-//necessary// for any but ''enumerate'').+\documentclass{article} 
 +  \usepackage{enumitem} 
 +  \pagestyle{empty} 
 + 
 +\begin{document} 
 +Cette liste est : 
 +\begin{enumerate} 
 +  \item claire ; 
 +  \item précise ; 
 +\end{enumerate} 
 +Cela n'était pas bien compliqué. 
 +\begin{enumerate}[resume] 
 +  \item et complète. 
 +\end{enumerate} 
 +\end{document} 
 +</latexdoc> 
 +</WRAP> 
 +<WRAP clear /
 + 
 +Cette approche semble tout aussi naturelle que celle de [[ctanpkg>mdwlist]] et a l'avantage de bien s'adapter aux autres fonctionnalités de l'extension [[ctanpkg>enumitem|enumitem]].
  
-[[ctanpkg>Enumitem|Enumitem]] also allows multi-level suspension and resumption +L'extension [[ctanpkg>enumitem]] permet également la suspension à plusieurs niveaux et la reprise des listes :
-of lists:+
  
 +<WRAP column 51ex>
 <code latex> <code latex>
 +\documentclass{article}
 +  \usepackage{enumitem}
 +
 +\begin{document}
 +Cette liste est :
 \begin{enumerate} \begin{enumerate}
-\item outer item 1+\item claire ;
 \end{enumerate} \end{enumerate}
-<comment>+En tant qu'exemple, elle se devait de l'être.
 \begin{enumerate}[resume] \begin{enumerate}[resume]
-\item outer item 2 +\item précise ;
-% nested enumerate+
 \begin{enumerate} \begin{enumerate}
-\item inner item 1+\item par souci de formalisme, 
 \end{enumerate} \end{enumerate}
-<nested comment> +Oui, oui, toujours parce qu'elle est exemplaire.
-% resume nested enumerate+
 \begin{enumerate}[resume] \begin{enumerate}[resume]
-\item inner item 2+\item et par souci de concision ;
 \end{enumerate} \end{enumerate}
-\item outer item 3 +\item et complète
-% end outer enumerate+
 \end{enumerate} \end{enumerate}
 +\end{document}
 </code> </code>
-However, the "nested comment" interpolated in the nested enumeration +</WRAP> 
-appears as if it were a second paragraph to "outer item 2", which is +<WRAP column 30ex> 
-hardly satisfactory.+<latexdoc> 
 +\documentclass{article} 
 +  \usepackage{enumitem} 
 +  \pagestyle{empty}
  
 +\begin{document}
 +Cette liste est :
 +\begin{enumerate}
 +\item claire ;
 +\end{enumerate}
 +En tant qu'exemple, elle se devait de l'être.
 +\begin{enumerate}[resume]
 +\item précise ;
 +\begin{enumerate}
 +\item par souci de formalisme, 
 +\end{enumerate}
 +Oui, oui, toujours parce qu'elle est exemplaire.
 +\begin{enumerate}[resume]
 +\item et par souci de concision ;
 +\end{enumerate}
 +\item et complète
 +\end{enumerate}
 +\end{document}
 +</latexdoc>
 +</WRAP>
 +<WRAP clear />
  
------+Cependant, le commentaire présent dans l'énumération imbriquée apparaît comme s'il s'agissait d'un deuxième paragraphe au sein du deuxième élément de la liste principale, ce qui n'est guère satisfaisant.
  
 +-----
 //Source:// [[faquk>FAQ-interruptlist|Interrupting enumerated lists]] //Source:// [[faquk>FAQ-interruptlist|Interrupting enumerated lists]]
  
-{{htmlmetatags>metatag-keywords=(LaTeX,usage+{{htmlmetatags>metatag-keywords=(LaTeX,listes et énumérations,couper une liste,interrompre une liste
-metatag-og:title=(Interrupting enumerated lists)+metatag-og:title=(Comment interrompre temporairement une liste numérotée)
 metatag-og:site_name=(FAQ LaTeX francophone) metatag-og:site_name=(FAQ LaTeX francophone)
 }} }}
  
3_composition/texte/listes/interrompre_une_liste_numerotee.1543880566.txt.gz · Dernière modification : 2018/12/03 23:42 de jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0