--- myst: html_meta: keywords: LaTeX,flottants,légendes des figures,légendes des tableaux,mise en forme des légendes --- # Comment modifier la commande « `\caption` » ? S'il s'agit juste de modifier les mots « Figure » et « Table » qui sont affichés avant le titre de la légende, il suffit de redéfinir les commandes `\figurename` et `\tablename`, respectivement. :::{warning} Lorsqu'on utilise le package , cependant, c'est un peu plus compliqué : en effet, redéfinit lui-même ces deux commandes *à chaque changement de langue*, et les modifications risquent donc d'être perdues. Pour contourner ce problème, on pourra écrire : ```{noedit} \renewcommand*\frenchfigurename{% {\scshape Figure}% } \renewcommand*\frenchtablename{% {\scshape Tableau}% } ``` ::: S'il s'agit de changer la mise en page de la légende, plusieurs solutions existent, suivant ce que l'on veut faire : - L'extension définit deux commandes équivalentes, `\hangcaption` et `\isucaption`, qui permettent de limiter la largeur de la légende (en redéfinissant `\captionwidth`), et de composer le texte de la légende en retrait, pour l'aligner sur le numéro de la figure ou du tableau. Notez qu'il n'est intégré dans aucune distribution, car l'extension suivante a les mêmes fonctionnalités ; - L'extension permet de redéfinir beaucoup plus de choses. Avec l'option `format=hang` et la longueur `\captionwidth`, elle permet de faire ce que fait l'extension . Les commandes `\captionfont`, `\captionlabeldelim`, `\captionlabelsep`... permettent de configurer très précisément le comportement de `\caption` ; - L'extension permet de placer la légende au-dessus de la figure, grâce à la commande `\topcaption`. L'option `plaintop` du package permet également d'obtenir ce comportement ; - Les utilisateurs de classes trouveront les commandes concernant les tableaux dans la section 3.20 de la documentation (2.20 de la [traduction française](https://framabook.org/koma-script/)). Exemples de redéfinitions de légendes : :::{todo} *Trouver pourquoi le code ne compile pas sur le serveur alors qu'il compile sur mon ordinateur* ::: ```{noedit} \documentclass[french]{article} \usepackage[T1]{fontenc} \usepackage{hangcaption} \usepackage{caption} \usepackage{topcapt} \usepackage{babel} \begin{document} Du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, et encore du texte... \begin{figure}[!ht] \centerline{\fbox{Une figure, ici}} \setlength\captionwidth{6cm} \hangcaption{Ça, c'est la première figure, qui utilise la commande \texttt{\string\hangcaption}.} \end{figure} Du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, et encore du texte... \begin{figure}[!ht] \centerline{\fbox{Une figure, ici}} \captionsetup{width=9cm,font=it} \caption{Ça, c'est la deuxième figure, qui utilise la commande \texttt{\string\caption} définie par l'extension \textsf{caption}.} \end{figure} Du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, et encore du texte... \begin{figure}[!ht] \topcaption{Ça, c'est la troisième figure, qui utilise la commande \texttt{\string\topcaption} définie dans l'extension \textsf{topcapt}.} \centerline{\fbox{Une figure, ici}} \end{figure} Du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, et encore du texte... \end{document} ``` ``` \documentclass[french]{article} \usepackage[T1]{fontenc} \usepackage[width=9cm]{geometry} \usepackage{caption} \usepackage{topcapt} \usepackage{babel} \pagestyle{empty} \begin{document} Du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, et encore du texte... \begin{figure}[!ht] \centerline{\fbox{Une figure, ici}} \setlength\captionwidth{6cm} \hangcaption{Ça, c'est la première figure, qui utilise la commande \texttt{\string\hangcaption}.} \end{figure} Du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, et encore du texte... \begin{figure}[!ht] \centerline{\fbox{Une figure, ici}} \captionsetup{width=9cm,font=it} \caption{Ça, c'est la deuxième figure, qui utilise la commande \texttt{\string\caption} définie par l'extension \textsf{caption}.} \end{figure} Du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, et encore du texte... \begin{figure}[!ht] \topcaption{Ça, c'est la troisième figure, qui utilise la commande \texttt{\string\topcaption} définie dans l'extension \textsf{topcapt}.} \centerline{\fbox{Une figure, ici}} \end{figure} Du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, du texte, et encore du texte... \end{document} ```