4

This is a follow-up question to this issue with several bibliographies and backref. I want to generate two bibliographies, a short one in the beginning and a full one in the end. All entries appear in the full bib, and some entries appear in both. Based on the helpful answers there, the code looks as follows:

\documentclass{report}
\usepackage{hyperref}
\usepackage[backref=true, hyperref=true, backend=biber]{biblatex}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01, author = {Author, A.}, year = {2001}, title = {Alpha Title}, keywords = {self}}
@misc{B02, author = {Author, B.}, year = {2002}, title = {Beta Title}, keywords = {other}}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\begingroup\renewbibmacro{pageref}{}
\printbibliography[heading=bibintoc, keyword=self, title={Previous Work}]
\endgroup

\chapter{First}
Some text \cite{A01, B02}.

\printbibliography[heading=bibintoc, title={References}]

\end{document}

When using hyperref, clicking on the B02 link leads to the references in the back. The problem however is that the other A01 link goes to the front bibliography, which is not consistent and it is not possible to go back to the text page using a backref.

I'm looking for a way to flush the hyperlink targets after the first bibliography so that all links go the full bibliography only, without breaking the rest of hyperref.

5

If you only include certain references in the first bibliography, it may not be a good idea to include the numbering [1], [2], ...

In that case you could get away with replacing \printbibliography[heading=bibintoc, keyword=self, title={Previous Work}] with:

\printbibheading[heading=bibintoc,title={Previous Work}]
\fullcite{A01}.

This would avoid your hyperref problem.


Alternatively, here is a version in which hyperref is temporarily disabled for the first bibliography.

\documentclass{report}
\usepackage{hyperref}
\usepackage[backref=true, hyperref=true, backend=biber]{biblatex}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01, author = {Author, A.}, year = {2001}, title = {Alpha Title}, keywords = {self}}
@misc{B02, author = {Author, B.}, year = {2002}, title = {Beta Title}, keywords = {other}}
\end{filecontents}

\addbibresource{\jobname.bib}


\begin{document}
\begingroup\renewbibmacro{pageref}{}
\makeatletter
\let\blx@anchor\relax
\makeatother
\printbibliography[heading=bibintoc, keyword=self, title={Previous Work}]
\endgroup

\chapter{First}
Some text \cite{A01, B02}.

\printbibliography[heading=bibintoc, title={References}]

\end{document}
  • I was playing with \fullcite but had some problems because I wanted to show the full list of authors but afterwards have it abbreviated to two authors. It's true that putting it into a group and redefining maxnames would solve this problem. Still, I wanted to know if there is a way to temporally disable hyperref because I wanted to avoid explicitly placing \fullcites. – Matthias Wilhelm Oct 22 '13 at 11:55
  • Yes, numeric numbering is bad, I was planning to use author-year. The example was a bit too minimal. – Matthias Wilhelm Oct 22 '13 at 11:56
  • I see, your problem was being avoided rather than solved. Check the edited version for a possible solution. – Pedro Oct 22 '13 at 14:04

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.