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:annexes:tables:ajouter_une_entree_a_une_table_des_matieres [2016/10/18 21:19] jejust3_composition:annexes:tables:ajouter_une_entree_a_une_table_des_matieres [2021/11/02 11:42] (Version actuelle) – Correction de la mise en forme. yannick.tanguy
Ligne 1: Ligne 1:
-====== Comment ajouter une entrée dans la table des matières ?} %14.3 ======+====== Comment ajouter une entrée dans la table des matières? ======
  
 +===== Cas général =====
  
-$Reponse$  \label{ACtntsLPour ajouter une entrée dans la table des matières, +La commande ''\addcontentsline{//toc//}{//section//}{//nom de la section//}'' permet d'insérer des entrées dans la table des matières. Dans cette commande : 
-on utilise la commande ''addcontentsline''\marg{toc}\marg{section}\marg{nom +  * le premier argument indique dans quelle table on veut ajouter une entrée. Il peut s'agir de la table des matières (''toc'')de la liste des figures (''lof''), de la liste des tableaux (''lot'') ; 
-  de la section}.+  * le deuxième argument indique le niveau de sectionnement auquel on veut placer la nouvelle entrée. Cet argument peut donc valoir ''part'', ''chapter'', ''section'', ''subsection'', ''subsubsection''. Il peut valoir aussi ''figure'' ou ''table'' pour les listes de figures ou les listes de tableaux ; 
 +  * le troisième argument est le texte qui doit apparaître, généralement le titre de la section ajoutée.
  
-\begin{itemize} +Dans la pratique, cette commande est souvent utilisée pour insérer des titres de sectionnement lors de l'utilisation de commandes de sectionnement étoilées comme ''\section*''. En effetces commandes empêchent la numérotation du titre et ne génèrent pas d'entrée en table des matière. Voici un exemple de ce correctif :
-\item +
-Le premier argument indique dans quelle table on veut ajouter une entrée. +
-Il peut s'agir soit de la liste des figures (\marg{lof})soit de la liste des +
-tableaux (\marg{lot}) ; +
-\item +
-le deuxième argument indique le <<~niveau~>> auquel on veut placer la +
-nouvelle entrée ; +
-\item +
-le troisième argument est le texte qui doit apparaître, généralement +
-le titre de la section ajoutée. +
-\end{itemize}+
  
 +<code latex>
 +\section*{Un titre non numéroté}
 +\addtontentsline{toc}{section}{Un titre non numéroté}
 +</code>
  
-$Reponse$  \label{reponsetocbibind} +Toutefois, il faut faire attention au numéro de page obtenu en table des matières (un correctif revenant alors à placer la commande ''\addcontentsline'' après la commande ''\section*'' si la section est mal référencée.) La question « [[3_composition/annexes/tables/chapitres_non_numerotes_dans_la_table_des_matieres5|Comment obtenir des titres de sectionnement non numérotés en table des matières ?]] » donne une solution bien plus robuste. 
-Cette méthode ne convient pas pour ajouter la bibliographie dans la table des + 
-matières. En effetpar défaut, la bibliographie n'apparaît pas dans la +===== Cas des titres de bibliographied'index ou d'autres annexes spécifiques ===== 
-table des matières. Si l'on veut l'ajouter, la première idée est + 
-d'écrire :+==== Avec les commandes de base ==== 
 + 
 +Les classes standards de <latex>\LaTeX</latex> (et bien d'autres) utilisent ''\section*'' ou ''\chapter*'' pour mettre en forme des parties auto-générées du document (les tables des matières, les listes de figures et de tableaux, la bibliographie et l'index). Comme vu ci-dessus, ces éléments ne sont donc pas numérotés (ce qui ne dérange pas la plupart des gens) mais n'apparaissent pas dans la table des matières. 
 + 
 +Supposons que notre document soit basé sur des chapitres (classe [[ctanpkg>report]] ou [[ctanpkg>book]], par exemple), la solution suivante pourrait être envisagée 
  
 <code latex> <code latex>
 +\bibliography{mabiblio}
 +\addcontentsline{toc}{chapter}{Bibliographie}
 +</code>
  
-\bibliographystyle{alpha}+Cependant, si la bibliographie s'étale sur plus d'une page, la numérotation en table des matières sera //fausse// (en référençant la dernière page de la bibliographie). Mettre la commande  ''\addcontentsline'' avant la commande ''\bibliography'' ne résout pas pour autant le problème puisque la commande serait effectuée \emph{avant} la commande ''\bibliography'', donc avant le début du nouveau chapitre et, par conséquent, peut-être pas sur la bonne page. Pour corriger cela, il convient d'utiliser la suite de commande suivante : 
 + 
 +<code latex> 
 +\cleardoublepage 
 +\addcontentsline{toc}{chapter}{Bibliographie}
 \bibliography{mabiblio} \bibliography{mabiblio}
-\addtontentsline{toc}{section}{Bibliographie} 
 </code> </code>
  
 +Notez que ''\cleardoublepage'' fait ce qu'il faut, à savoir faire un saut de page permettant d'accéder à une page de début de chapitre, même si votre document n'est pas en mode recto-verso (dans ce cas, c'est un simple synonyme de ''\clearpage''). Toutefois, s'assurer que l'entrée fait référence au bon endroit reste délicat dans le cas d'une classe basée sur la commande ''\section''
 +
 +Si vous utilisez conjointement l'extension [[ctanpkg>hyperref]] (gérant des liens hypertextes dans le document), un léger ajustement est nécessaire : 
 +
 +<code latex>
 +\cleardoublepage
 +\phantomsection
 +\addcontentsline{toc}{chapter}{Bibliographie}
 +\bibliography{mabiblio}
 +</code>
 +
 +La commande supplémentaire, ''\phantomsection'', donne à [[ctanpkg>hyperref]] un point à référencer lors de la création du lien. 
 +
 +==== Avec l'extension “tocbibind” ====
 +
 +La solution courante consiste à utiliser l'extension [[ctanpkg>tocbibind]] qui fournit de nombreuses fonctionnalités pour contrôler la manière dont ces entrées apparaissent dans la table des matières. 
 +
 +==== Avec les classes “KOMA-script” ====
 +
 +Les classes [[ctanpkg>KOMA-script]] fournissent cette fonctionnalité sous la forme d'un ensemble d'options de classe (par exemple, ''bibtotoc'' pour ajouter la bibliographie à la table des matières).
  
-Le problème de cette méthode est que le ''addcontentsline'' apparaît +==== Avec la classe “memoir” ====
-\emph{après} la bibliographie, donc probablement quelques pages après le début de +
-la section en question. Mettre le ''addcontentsline'' avant la commande +
-''bibliography'' ne résout pas le problème puisque la commande serait +
-effectuée \emph{avant} la commande ''bibliography'', donc avant le début +
-de la nouvelle section, donc peut-être pas sur la bonne page. +
  
-Le même problème se pose pour l'index. Et dans les deux cas, le package +La classe [[ctanpkg>memoir]] fait directement appel à l'extension [[ctanpkg>tocbibind]] elle-même
-[[ctanpkg>tocbibind|tocbibind]] permet de contourner le problème.+
  
 +-----
 +//Source:// [[faquk>FAQ-tocbibind|Bibliography, index, etc., in TOC]]
  
 +{{htmlmetatags>metatag-keywords=(LaTeX,table des matières,titre de sectionnement,entrée,index,toc)
 +metatag-og:title=(Comment ajouter une entrée dans la table des matières)
 +metatag-og:site_name=(FAQ LaTeX francophone)
 +}}
3_composition/annexes/tables/ajouter_une_entree_a_une_table_des_matieres.1476825595.txt.gz · Dernière modification : 2016/10/18 21:19 de jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0