1

In my document, there are several bibliographies with the same references. I use biblatex to print the bibliographies, and hyperref to make clickable citations. As written in the biblatex documentation, the link redirects to the first printed occurrence of the reference over the whole document. However, I would like the links to redirect to the bibliography table at the end of the document. How could I achieve that?

Here is a MWE:

\documentclass{article}
\usepackage[backend=biber,bibstyle=numeric]{biblatex}
\usepackage{hyperref}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
    @book{Goossens:1994:LC:561206,
        author = {Goossens, Michel and Mittelbach, Frank and Samarin, Alexander},
        title = {The LaTeX Companion},
        year = {1994},
        publisher = {Addison-Wesley Longman Publishing Co., Inc.}
    }
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
    \printbibliography[title={Front references}]
    \vfill Here is a story with references \cite{Goossens:1994:LC:561206}. \vfill
    \printbibliography[title={Back references}]
\end{document}

which output looks like

output

When I click the hyperlink (1), I am redirected to the "Front references", but I would like to be redirected to the "Back references". I am using PDFLaTeX and Biber from MikTeX 2.9.

2

Depending on your document set-up there are two simple options.

  1. Turn off the links for the first bibliography (and for every other bibliography except the last one you want linked).

    \documentclass{article}
    \usepackage[backend=biber,bibstyle=numeric]{biblatex}
    \usepackage{hyperref}
    
    \addbibresource{biblatex-examples.bib}
    
    \makeatletter
    \def\turnoffbiblinks{\let\blx@anchor\@empty}
    \makeatother
    
    \begin{document}
      \AtNextBibliography{\turnoffbiblinks}
      \printbibliography[title={Front references}]
      \vfill Here is a story with references \cite{sigfridsson}. \vfill
      \printbibliography[title={Back references}]
    \end{document}
    
  2. Turn off links everywhere and turn them back on for the last bibliography.

    \documentclass{article}
    \usepackage[backend=biber,bibstyle=numeric]{biblatex}
    \usepackage{hyperref}
    
    \addbibresource{biblatex-examples.bib}
    
    \makeatletter
    \AtBeginDocument{%
      \let\saved@blx@anchor\blx@anchor
      \let\blx@anchor\@empty
      \def\turnonbiblinks{\let\blx@anchor\saved@blx@anchor}%
    }
    \makeatother
    
    \begin{document}
      \printbibliography[title={Front references}]
      \vfill Here is a story with references \cite{sigfridsson}. \vfill
      \AtNextBibliography{\turnonbiblinks}
      \printbibliography[title={Back references}]
    \end{document}
    

This could also be done by defining a separate bibliography environment with \defbibenvironment instead of \AtNextBibliography. That might be the cleanest solution if you are looking at a document with many bibliographies.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.