Comment obtenir des liens de la bibliographie vers les références dans le texte ?#

Un lien (ou au moins une référence de page) permettant de passer d’un ouvrage de la bibliographie à son évocation dans le texte principal d’un document est souvent utile dans les documents volumineux. Voici différentes méthodes qui permettent d’obtenir cette fonctionnalité.

1.  Avec l’extension backref#

L’extension backref fait partie de l’ensemble hyperref et prend en charge les hyperliens de la bibliographie vers les zones de texte des commandes \cite, en indiquant par défaut les numéros de page où sont citées les références.

Cette extension n’agrége pas les listes de pages (« 5, 6, 7 » apparaît comme tel, plutôt que « 5–7 ») mais elle ne répète pas la référence à une page contenant plusieurs fois une référence.

1.1.  Avec et backref#

Voici un exemple d’utilisation de cette extension avec

% Un fichier BIB créé par le document avec l'environnement filecontents
\begin{filecontents}{\jobname.bib}
  @book{dyna,
    author = {Moriarty, James},
    year = {1871},
    title = {La dynamique d'un astéroïde},
  }
  @book{apic,
    author = {Holmes, Sherlock},
    year = {1909},
    title = {Manuel pratique d'apiculture,
             avec quelques observations sur la ségrégation de la reine},
  }
\end{filecontents}

% Le document LaTeX
\documentclass[french]{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \usepackage{backref}

\begin{document}
(\dots) Toute bonne bibliothèque de curiosités se devrait de compter 
\cite{dyna,apic}. (\dots)
\clearpage
(\dots) Certains notent d'ailleurs le tour de force intellectuel que 
constitue \cite{dyna}. (\dots)
\bibliographystyle{plain}
\bibliography{\jobname}
\end{document}

À faire

Ajouter la méthode pour ne pas avoir de pluriel à page lorsqu’il n’y en a qu’une.

1.2.  Avec natbib et backref#

À faire

Exemple à ajouter.

1.3.  Avec biblatex et backref#

Une solution avec biblatex permet d’obtenir un résultat similaire avec l’option d’extension backref=true. L’exemple ci-dessous présente dans ses commentaires un code permettant de rendre le résultat encore plus proche de ce que font les exemples suivants.

% Un fichier BIB créé par le document avec l'environnement filecontents
\begin{filecontents}{\jobname.bib}
  @book{dyna,
    author = {Moriarty, James},
    year = {1871},
    title = {La dynamique d'un astéroïde},
  }
  @book{apic,
    author = {Holmes, Sherlock},
    year = {1909},
    title = {Manuel pratique d'apiculture,
             avec quelques observations sur la ségrégation de la reine},
  }
\end{filecontents}

% Le document LaTeX
\documentclass[french]{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \usepackage[backref=true]{biblatex}
  \usepackage{hyperref}

  % Rédéfinition des termes pour biblatex 
  %\DefineBibliographyStrings{english}{%
  %  backrefpage = {page},     % initialement "cf. p."
  %  backrefpages = {pages},   % initialement "cf. p."
  %}

  \addbibresource{\jobname.bib}

\begin{document}
(\dots) Toute bonne bibliothèque de curiosités se devrait de compter 
\cite{dyna,apic}. (\dots)
\clearpage
(\dots) Certains notent d'ailleurs le tour de force intellectuel que 
constitue \cite{dyna}. (\dots)
\printbibliography
\end{document}

2.  Avec l’extension citeref#

L’extension citeref est plus ancienne et repose sur un code plutôt simple : elle produit uniquement une liste de pages où figure chaque référence après chacune des références de la bibliographie. Elle n’interagit pas bien avec d’autres extensions jouant sur les références (par exemple, cite), ce qui reflète son ancienneté. Elle dérive en effet d’une extension 2.09.

Tout comme backref, elle n’agrége pas les listes de pages mais ne répète pas la référence à une page contenant plusieurs fois une référence.

Voici un exemple (où est affichée la seule page de la bibliographie) :

% Un fichier .bib créé par le document avec l'environnement filecontents
\begin{filecontents}{\jobname.bib}
  @book{dyna,
    author = {Moriarty, James},
    year = {1871},
    title = {La dynamique d'un astéroïde},
  }
  @book{apic,
    author = {Holmes, Sherlock},
    year = {1909},
    title = {Manuel pratique d'apiculture,
             avec quelques observations sur la ségrégation de la reine},
  }
\end{filecontents}

% Le document LaTeX
\documentclass[french]{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \usepackage{citeref}

\begin{document}
(\dots) Toute bonne bibliothèque de curiosités se devrait de compter 
\cite{dyna,apic}. (\dots)
\clearpage
(\dots) Certains notent d'ailleurs le tour de force intellectuel que 
constitue \cite{dyna}. (\dots)
\bibliographystyle{plain}
\bibliography{\jobname}
\end{document}