Chapter 13 Références Croisées
La gestion facile des réferences aux équations, aux tables
et aux figures....
13.1 Quelles sont les commandes de base ?
LATEX permet de gérer automatiquement des références croisées grâce
aux commandes suivantes :
-
\label{} pour repérer la référence à rappeler
- \ref{} pour faire appel à la référence décrite par
la commande \label
- \pageref{} pour faire référence à la page de la référence
reperée par la commande \label
- \cite{} pour faire référence à un document cité en
bibliographie.
L'utilisation de ces commandes nécessite alors plusieurs (deux à trois)
compilations successives, jusqu'à ce que toutes les références croisées
soient correctes.
-
ATTENTION :
- pour les figures et les tables, la commande \label
doit se situer juste après un \caption ou en faire
partie pour que les références soient correctes.
- ATTENTION :
- lorsque l'on travaille avec une version inférieure à
3.6 du package babel et l'option french, sachant que cette dernière
redéfinit certains caractères de ponctuation tels que :;?! pour gérer
automatiquement les espaces, il ne faut pas les utiliser dans des
noms de label : \label{section:Introduction} est
interdit.
- Exemple
- :
-
Remplir la table\ref{table-add}, page\pageref{table-add}
\begin{table}[htbp]
\begin{center}
\begin{tabular}{c|c}
\hline
Question & Réponse \\
\hline
1 + 12 & \\
45 + 76 & \\
\end{tabular}
\caption{Additions. \label{table-add}}
\end{center}
\end{table}
%%%% fin exemple %%%%
ce qui donne :
Remplir la table 13.1, page ??
Question |
Réponse |
1 + 12 |
|
45 + 76 |
|
Le package 'prettyref' disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/prettyref/
permet de définir ses propres styles de référence.
13.2 Comment obtenir un renvoi à une page ?
Il suffit d'utiliser la commande \pageref présentée
ci-dessus.
Le package 'varioref', de F. Mittelbach, disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/tools/,
permet de n'appeler une référence de page que si l'objet flottant
auquel elle se rattache n'est pas présent sur la page courante. Pour
cela, ce package définit la commande \vpageref qui
ne fera apparaître le numéro de la page référencée que si ce n'est
pas la page courante. Cette commande peut également introduire des
expressions du type ``sur la page précédente'', ``sur cette
même page'', etc. Dans ce cas, on précise la langue voulue en option
lors de l'appel du package.
-
Exemple :
-
-
\documentclass{report}
\usepackage{french}
\usepackage[french]{varioref}
\begin{document}
Remplir la table\ref{table-add}\vpageref{table-add}
\begin{table}[htbp]
\begin{center}
\begin{tabular}{c|c}
\hline
Question & Réponse \\
\hline
1 + 12 & \\
45 + 76 & \\
\end{tabular}
\caption{Additions. \label{table-add}}
\end{center}
\end{table}
\end{document}
%%%% fin exemple %%%%
-
Remarque :
- Ce package est incompatible avec les styles de page sans
numérotation (e.g. empty).
13.3 Comment obtenir des références croisées à partir de plusieurs sources
?
Le package 'xr', de D. Carlisle, permet de faire des références d'un
document à l'autre. Il est disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/required/tools/.
Le document contenant les labels est appelé dans le document contenant
les références via la commande \externaldocument. La
commande \externaldocument[KEY]{DOCUMENT} permet
même de gérer les références de même nom.
-
Exemple :
-
-
\documentclass[a4paper,12pt]{book}
\begin{document}
\section{Ma section.\label{ma-sect}}
\end{document}
-
\documentclass[11pt]{report}
\usepackage{xr}
\externaldocument{essai}
\begin{document}
Pour plus de détails, voir le document \textit{essai},
paragraphe\ref{ma-sect}
\end{document}
%%%% fin exemple %%%%
13.4 Comment définir des liens hypertexte sous LATEX ?
Le package 'hyperref' de S. Rahtz disponible sur ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/hyperref/
permet de définir des liens hypertexte pour PDF. Il définit pour cela
des commandes de type \ref{}.
Voir également les packages 'hyper' et 'hyperlatex' disponibles sur
ftp://ftp.fdn.org/pub/CTAN/macros/latex/contrib/supported/hyper/.
La distribution Y&Y TeX System supporte des liens en TeX debuggable
dans le previewer qui seront automatiquement convertis en liens PDF
pour Adobe.
13.5 Comment faire référence à ses propres compteurs ?
Lorsque l'on définit son propre environnement avec ses popres compteurs,
pour que les commandes \label et \ref
puissent les prendre en compte, il suffit d'utiliser \refstepcounter
au lieu de \stepcounter pour incrémenter le compteur
auquel on fait référence.
13.6 Comment faire référence au début d'un flottant et pas au titre?
Lorsque l'on utilise les techniques classiques de références, le \label
fera référence au \caption puisque c'est là
que le compteur est incrémenté. Mais le \caption
est souvent en bas de figure (ou de tableau, ou de tout autre flottant).
Ca ne pose pas de problème pour un document papier, mais pour de l'hypertexte,
il serait plus intéressant d'utiliser la solution proposée par Michel
Bovani :
-
Exemple :
-
-
\begin{figure} \refstepcounter{figure}\label{fig-numero13}\addtocounter{figure}{-1}
\includegraphics{Figure13.pdf}
\caption{C'est ma figure.}
\end{figure}
%%%% fin exemple %%%%