Previous Contents Next

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 :

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  

Table 13.1: Additions.


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 %%%%

Previous Contents Next