Poser une étiquette
La première chose à faire est de poser une étiquette vers laquelle on fera référence plus tard. Pour ce faire, il faut utiliser la commande LaTeX label
qui prend comme paramètre un nom pour l'étiquette. Ce nom est choisi par l'utilisateur et il ne peut y avoir deux étiquettes avec le même nom sinon, des erreurs apparaitront lors de la compilation.
listing l6.1 La commande label
On va donc créer une table et y ajouter une étiquette qu'on nommera distances
.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| \begin{table}[!ht] | \begin{tabular}{l|ccccc} | & Berlin & Gelsenkirchen & Kaiserslautern & Munich \\ | \hline | Berlin & / & 516,4 & 653,9 & 584,7 \\ | Gelsenkirchen & 516,4 & / & 318,1 & 630 \\ | Kaiserslautern & 653,9 & 318,1 & / & 407,8 \\ | Munich & 584,7 & 630 & 407,8 & / \\ | \end{tabular} | \caption{Distances entre villes allemandes en km} | \label{distances} | \end{table} |
|
listing l6.2 Tableau marqué avec l'étiquette distances
Si vous compilez une première fois le fichier, vous aurez un avertissement de compilation. C'est normal, lors de la première compilation, LaTeX va analyser les étiquettes et attribuer les numéros et lors de la deuxième compilation, il pourra utiliser ce qu'il a mémorisé pour les références. C'est comme pour les tables des matières, des figures et des tables.
Faire référence vers une étiquette
Ensuite, on peut faire référence vers une étiquette avec la commande ref
. Cette commande prend comme unique paramètre le nom de l'étiquette vers laquelle faire référence.
listing l6.3 La commande ref
Donc, par exemple, pour faire référence au tableau des distances que nous avions écrit plus haut, il suffirait de taper
| Comme vous pouvez le voir dans la table \ref{distances}, la distance entre Munich et Berlin est plus grande qu'entre Gelsenkirchen et Berlin. |
|
listing l6.4 Référence vers le tableau marqué distances
Pour faire des références vers une figure ou une table, il suffit de placer une étiquette dans l'environnement figure
ou table
. On peut également faire une référence vers une section ou un chapitre, pour celà, il suffit de placer une étiquette dans le corps du chapitre ou de la section.
Attention avec les références vers une table
ou une figure
, la commande label
doit absolument être incluse après la commande caption
.
En effet, sans la commande caption
, aucun numéro ne sera généré pour la table ou pour l'image et donc, impossible d'y faire référence. Le compilateur LaTeX ne génèrera aucunes erreurs mais le document final ne sera pas celui que vous auriez espéré avoir.
Référence vers un numéro de page
Si on utilise la commande pageref
au lieu de ref
, on aura le numéro de page où se trouve l'étiquette plutôt que le numéro de l'environnement (figure, table, section, chapter, ...).
| Comme vous pouvez le voir dans la table \ref{distances} en page \pageref{distances}, la distance entre Munich et Berlin est plus grande qu'entre Gelsenkirchen et Berlin. |
|
listing l6.5 Référence vers la page du tableau marqué distances
Références proches
Faire référence vers un élément flottant par le texte la figure ci-contre est beaucoup plus esthétique que la figure 20.3, malheureusement, comme ce sont des flottants, on n'est jamais de la position finale de ces éléments. Heureusement, il existe une extension qui transforme les références proches en jolis textes.
Il s'agit de l'extension varioref
. Lorsque l'on charge l'extension, il faut préciser la langue du document en option comme pour l'extension babel
:
| \usepackage[french]{varioref} |
|
listing l6.6 L'extension varioref
pour le français
Une fois l'extension chargée, deux nouvelles commandes sont disponibles, il s'agit des commandes vref
et vpageref
similaires aux commandes ref
et pageref
que nous connaissons déjà.