Le problème
En France, une table des matière est située à la fin d’un livre, alors qu’un sommaire est situé en début de livre.
Si j’utilise \tableofcontents
en début de document, j’obtiens une « table des matières » et non pas un « Sommaire ».
Comment faire ?
La solution
Ces textes automatiquement insérés par LaTeX qui varient en fonction de la langue sont des chaînes de langues, définies par le package Polyglossia [1].
Il faut donc les surcharger.
La méthode
Comme pour les toutes les chaînes de langues, il faut commencer par découvrir quelle est la chaîne à modifier. Il faut d’abord ouvrir le fichier gloss-french.ldf
, qui définit, entre autres, les chaînes de langues pour le français [2].
On peut une ligne contenant \def\captionsfrench{%
.
Cette ligne est suivie d’autres lignes sous la forme : \def\chaine{Valeur}%
.
Et ce jusqu’à une accolade fermante.
Pour notre cas, on peut aisément repérer la ligne contenant \def\contentsname{Table des matières}%
.
Notre chaîne de langue est donc contentsname
.
Pour redéfinir une chaîne de langue, il suffit d’écrire, de préférence dans le préambule :
\gappto\captionsfrench{\renewcommand{\chaine}{Valeur}}
Dans le cas présent, cela donne :
\gappto\captionsfrench{\renewcommand{\contentsname}{Sommaire}}
Anedocte : \newcommand
vs \def
La commande \def
permet de créer des nouvelles commandes. Toutefois à la différence de la commande \newcommand
, les commandes ainsi créées appartiennent à TeX et non pas à LaTeX.
Définir des commandes en TeX par rapport à les définir en LaTeX permet plus de souplesse. Toutefois définir les commandes en TeX demande plus de maîtrise technique pour éviter divers problèmes (comme des erreurs de compilation.).
Les commandes TeX peuvent contenir des « sous commandes ». Ici par exemple, la commande \captionfrench
contient la sous commande \contentsname
. J’utilise la commande TeX \gappto
pour « injecter » une sous-commande dans une commande déjà définie.
Vos commentaires
# Le 10 janvier 2012 à 22:58, par Damien En réponse à : Les chaînes de langues de Polyglossia
Si tu as utilisé babel avant d’adopter polyglossia, il y a des différences intéressantes ?
# Le 10 janvier 2012 à 23:04, par Maïeul En réponse à : Les chaînes de langues de Polyglossia
je n’ai jamais utilisé babel, en fait quand j’ai commencé avec XeLaTeX, « on » m’a conseillé Polyglossia.
Ce que je sais en tout cas c’est que certaine caractères ne passaient pas avec LaTeX, y compris avec le package censé géré l’Unicode alors que ce n’est pas le cas avec XeLaTeX.
Je pense que comme c’est prévu uniquement pour XeLaTeX il doit tirer profit des fonctionnalité de ce dernier.
Si je lis le manuel il y a apparemment des fonctions intéressant, comme par exemple changer automatiquement la police lors que l’on change de langue. Mais ca se trouve Babel propose cela aussi.