LateX

KOMA-Script & les légendes des illustrations

Ou comment modifier l'aspect des légendes

Bonne nouvelle, depuis la version 2.6c, frenchb est compatible avec KOMA-Script et l'on ne se retrouve plus avec l'horrible

 Figure 1: La légende.

mais bien avec la version française qui utilise le tiret double

 Figure 1 – La légende.

C'est l'occasion de remercier Daniel Flipo pour son travail sur frenchb, son site et ici, la partie consacrée à frenchb ici et la documentation sur frenchb ici

Donc même si l'on n'est plus obligé de bidouiller pour avoir des légendes à la française, je me doute que si tu lis cette fiche c'est que tu veux quand même les bidouiller ces foutues légendes. Ça tombe bien car KOMA-Script met à notre disposition une séries d'outils pour ce faire.

La position des légendes

La légende dessus-dessous

Avec KOMA-Script deux nouvelles commandes pour gérer les légendes, font leur apparition :

 \captionbelow[Une légende courte]{La légende}

 \captionabove[Une légende courte]{La légende}

Une légende courte c'est pour la liste des figures ou la liste des tableaux, quand la légende est trop longue et que ça déborde.

\captionbelow place la légende en dessous de l'illustration, alors que \captionabove la place au-dessus. Cette dernière façon de faire est surtout utilisée pour les tableaux.

Bien entendu la commande \caption[Une légende courte]{La légende}

 est toujours active et est identique à \captionbelow.

Avec \captionabove pour avoir la légende au-dessus, il faut comme avec \caption écrire la légende avant l'illustration, comme dans le code ci-dessous. La différence ce situe dans la gestion des espaces entre la légende et l'illustration comme tu peux t'en rendre compte en comparant les tables ci-dessous.

 \begin{table}
 \begin{center}
 \caption{Un petit tableau avec la légende au-dessus, avec caption.}\label{caption}
 \begin{tabular}{|l|c|r|}
 \hline
 Première ligne&colonne 2&colonne 3\\\hline
 Deuxième line&colonne 2&colonne 3\\\hline
 \end{tabular}
 \end{center}
 \end{table}

 \begin{table}
 \begin{center}
 \captionabove{Un petit tableau avec la légende au-dessus, avec captionabove.}\label{captionabove}
 \begin{tabular}{|l|c|r|}
 \hline
 Première ligne&colonne 2&colonne 3\\\hline
 Deuxième line&colonne 2&colonne 3\\\hline
 \end{tabular}
 \end{center}
 \end{table}

Attach:legende1.png Δ

Légendes sur le côté

Il peut être utile dans certain cas de placer la légende à côté de l'illustration. Tu y parviens avec l'environnement suivant :

 \begin{captionbeside}[Légende courte]{La légende.}[placement][largeur][offset] 
 \includegraphics{image}
 \end{captionbeside}

Placement permet de choisir le placement de la légende, 4 valeurs sont possibles :

  • r à droite de l'illustration (valeur par défaut) ;
  • l à gauche de l'illustration ;
  • o vers les marges externes pour les documents recto-verso ;
  • i vers les marges internes pour les documents recto-verso.

Largeur'' : par défaut l'illustration et la légende prenne toute la largeur de texte disponible. Tu peux contrôler la largeur avec cette option. Il suffit d'indiquer une distance et une unité : [10cm], [30em], [300pt], [0.5\textwidth],. . .

Il s'agit de la largeur totale : image + légende.

Offset est également une distance. Elle décale l'ensemble image et légende par rapport à la marge de gauche. Une valeur positive les rapproche de la marge gauche, voir les place dans la marge, alors qu'une valeur négative les éloigne de la marge gauche.

Étoiler cette option ([30em]*) sert à opérer le décalage par rapport à la marge interne dans un document recto-verso.

 \begin{figure}
 \begin{captionbeside}{Une image dans un environnement recto-verso,
 avec la légende sur le côté et débordant dans la marge.}[i][14cm][10em] 
 \includegraphics[scale=0.5]{tux}
 \end{captionbeside}\label{figcote2}
 \end{figure}

Attention à l'emplacement de la commande \label, il faut la placer juste après le \captionbeside sinon \ref fera référence à la section en cours.