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édentes Révision précédente
Prochaine révision
Révision précédente
2_composition:texte:listes:interrompre_une_liste_numerotee [2018/06/03 15:11]
samcarter
2_composition:texte:listes:interrompre_une_liste_numerotee [2021/01/28 17:47] (Version actuelle)
dbitouze Correction de lien interne
Ligne 1: Ligne 1:
---- +====== Comment interrompre temporairement une liste numérotée ? ======
-title: Interrupting enumerated lists +
-category: usage +
-tags: lists +
-permalink: /​FAQ-interruptlist +
-date: 2014-06-10 +
----+
  
-It's often convenient to have commentary text"​outside"​ the list, +Il est souvent pratique d'avoir un texte de commentaire« en dehors » de la listeentre les entrées successives d'une listeLa situation est ici fonction du type d'​environnement utilisé : 
-between successive entries of a list In the case of +  * avec l'​environnement ''​itemize''​ce n'est pas un problèmecar rien ne distingue les éléments successifs ; 
-`itemize` lists this is no problemsince there's never +  * 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é ; 
-anything to distinguish successive itemswhile in the case of +  * 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.
-`description` liststhe item labels are under the user's +
-control so there's no automatic issue of continuity.+
  
-For `enumerate` lists, the labels are generated +===== Avec les commandes de base =====
-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 +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 ​
-enumeration in your own counter variableand then restore it when + 
-restarting enumerate+<​code ​latex
-```latex+\documentclass{article}
 \newcounter{saveenum} \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>​
  
-This is reasonable, in small doses&​hellipProblems (apart from sheer +<​latexdoc>​ 
-verbosity) are getting the level right +\documentclass{article} 
-("​should I use counter `enumi`, `enumii`, &​hellip;"​) and remembering not to +\newcounter{saveenum} 
-nest the interruptions (i.e., not to have a separate list, that is +\pagestyle{empty} 
-itself interrupted) in the "​commentary text").+\begin{document} 
 +Cette liste est : 
 +\begin{enumerate} 
 +  \item claire ​
 +  \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>​
  
-The [`mdwlist`](https://ctan.org/pkg/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+ 
-```latex+Par ailleurs, si vous suspendez une [[2_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|mdwlist]] définit les commandes ''​\suspend''​ et ''​\resume''​ pour simplifier ce processus
 + 
 +<​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
-The package allows an optional name (as in +</​code>​
-`\suspend[id]{enumerate}`) to allow you to identify a +
-particular suspension, and hence provide a handle for manipulating +
-nested suspensions.+
  
-If you're suspending a [fancy-enumeration list](FAQ-enumerate), +<​latexdoc>​ 
-you need to  +\documentclass{article} 
-re-supply the optional "item label layout"​ parameters required by +\usepackage{mdwlist} 
-the [`enumerate`](https://​ctan.org/​pkg/​enumerate) package when resuming the list, whether by the +\pagestyle{empty} 
-belt-and-braces approach, or by the [`mdwlist`](https://​ctan.org/​pkg/​mdwlist) +\begin{document} 
-`\resume{enumerate}` technique. ​ The task is a little tedious +Cette liste est : 
-in the [`mdwlist`](https://ctan.org/pkg/mdwlistcasesince the optional argument has to be +\begin{enumerate} 
-encapsulatedwholeinside an optional ​argument ​to `\resume`, +  \item claire ; 
-which requires use of extra braces+  \item précise ; 
-```latex+\suspend{enumerate} 
 +Cela n'​était pas bien compliqué
 +\resume{enumerate} 
 +  \item et complète. 
 +\end{enumerate} 
 +\end{document} 
 +</​latexdoc>​ 
 + 
 +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èreet donc de bien l'​isoler des autres pour gérer par exemple des suspensions imbriquées. 
 + 
 +Tout comme dans la méthode basiquesi vous suspendez une [[2_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 ​
 + 
 +<​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} 
-The [`enumitem`](https://ctan.org/pkg/enumitem) packagein its most recent +</​code>​ 
-releasewill also allow you to resume lists+ 
-```latex+<​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>​ 
 + 
 +===== Avec l'​extension expdlist ===== 
 + 
 +L'​extension [[ctanpkg>​expdlist|expdlist]] a une manière différente d'​aborder le problème, avec sa commande ''​\listpart''​. L'​argument de la commande devient en effet un commentaire entre les éléments de la liste : 
 + 
 +<code latex> 
 +\documentclass{article} 
 +\usepackage{expdlist} 
 + 
 +\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} 
 +</code> 
 + 
 +<​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>​ 
 + 
 +Ceci signifie qu'il n'a même pas à penser à suspendre ou à reprendre la listeet bien sûr, cela fonctionne aussi bien dans n'​importe quel environnement de liste. 
 + 
 +===== Avec l'​extension enumitem ===== 
 + 
 +L'​extension [[ctanpkg>​enumitem|enumitem]]dans ses versions récentes, vous permettra également d'​interrompre et de reprendre des listes ​
 + 
 +<​code ​latex
 +\documentclass{article} 
 +\usepackage{enumitem} 
 + 
 +\begin{document} 
 +Cette liste est :
 \begin{enumerate} \begin{enumerate}
-...+  \item claire ; 
 +  \item précise ;
 \end{enumerate} \end{enumerate}
-<​comment>​+Cela n'​était pas bien compliqué.
 \begin{enumerate}[resume] \begin{enumerate}[resume]
-...+  \item et complète.
 \end{enumerate} \end{enumerate}
-``` +\end{document} 
-which feels just as "​natural"​ as the [`mdwtools`](https:​//​ctan.org/​pkg/​mdwtools) facility, +</code>
-and has the advantage of playing well with the other excellent +
-facilities of [`enumitem`](https://​ctan.org/​pkg/​enumitem).+
  
-[`Expdlist`](https://​ctan.org/​pkg/​Expdlist) has a neat way of providing for comments, with its +<​latexdoc>​ 
-`\listpart` command. ​ The command'​s argument becomes a comment +\documentclass{article} 
-between items of the list: +\usepackage{enumitem} 
-```latex+\pagestyle{empty} 
 +\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é. 
-This, you will realise, means it doesn't even have to think about +\begin{enumerate}[resume] 
-suspending or resuming the list, and of course it works equally well +  \item et complète. 
-in any of the list environments (thought it's not actually +\end{enumerate
-_necessary_ for any but `enumerate`).+\end{document} 
 +</​latexdoc>​
  
-[`Enumitem`](https://​ctan.org/​pkg/​Enumitem) also allows multi-level suspension and resumption +Cette approche semble tout aussi naturelle que celle de [[ctanpkg>​mdwlist|mdwlist]] et a l'​avantage de bien s'​adapter aux autres fonctionnalités de l'​extension [[ctanpkg>​enumitem|enumitem]]. 
-of lists+ 
-```latex+L'​extension [[ctanpkg>​enumitem|enumitem]] permet également la suspension à plusieurs niveaux et la reprise des listes ​
 + 
 +<​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} 
-Howeverthe "​nested comment"​ interpolated in the nested enumeration +</​code>​ 
-appears as if it were a second paragraph to "​outer ​item 2"which is + 
-hardly satisfactory.+<​latexdoc>​ 
 +\documentclass{article} 
 +\usepackage{enumitem} 
 +\pagestyle{empty} 
 +\begin{document} 
 +Cette liste est : 
 +\begin{enumerate} 
 +\item claire ; 
 +\end{enumerate} 
 +En tant qu'​exempleelle 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>​ 
 + 
 +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]]
  
 +{{htmlmetatags>​metatag-keywords=(LaTeX,​listes et énumérations,​couper une liste,​interrompre une liste)
 +metatag-og:​title=(Comment interrompre temporairement une liste numérotée)
 +metatag-og:​site_name=(FAQ LaTeX francophone)
 +}}
2_composition/texte/listes/interrompre_une_liste_numerotee.1528031464.txt.gz · Dernière modification: 2018/06/03 15:11 par samcarter
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0