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.

Lorsqu'on utilise le package babel, cependant, c'est un peu plus compliqué: en effet, babel 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:

\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 :

Exemples de redéfinitions de légendes :

FIXME Trouver pourquoi le code ne compile pas sur le serveur alors qu'il compile sur mon ordinateur

\documentclass{article}
  \usepackage[french]{babel}
  \usepackage{hangcaption}
  \usepackage{caption">caption}
  \usepackage{topcapt}
 
\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{article}
  \usepackage[width=9cm]{geometry}
  \usepackage[french]{babel}
  \usepackage{caption}
  \usepackage{topcapt}
  \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}