31

I would like to change the way the back references are shown in the bibliography, such that they are all shown within parentheses. So I would like to see

(page x, y, z)

after my bibitems. This is what I think could be a starting point...

\usepackage[backref=page]{hyperref}
\renewcommand{\backrefxxx}[3]{(page \hyperlink{page.#1}{#1})}

But obviously this yields

(page x), (page y), (page z)

  • For those looking for how to create back-references without hyperref, consider using the package citeref (listed among the suggestions here, see also this discussion, in particular the comments about licensing). – Ioannis Filippidis Dec 14 '17 at 21:14
43

Here's a solution using biblatex:

\documentclass{article}

\usepackage[backref=true]{biblatex}

\usepackage{hyperref}

\DefineBibliographyStrings{english}{%
  backrefpage = {page},% originally "cited on page"
  backrefpages = {pages},% originally "cited on pages"
}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

Some text \autocite{A01,B02}.

\clearpage

Some more text \autocite{A01}.

\printbibliography

\end{document}

enter image description here

And a brute-force solution for natbib/backref:

\documentclass{article}

\usepackage[numbers]{natbib}

\usepackage[backref=page]{hyperref}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\BR@backref}{\newblock}{\newblock(page~}{}{}
\patchcmd{\BR@backref}{\par}{)\par}{}{}
\makeatother

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
\end{filecontents}

\begin{document}

Some text \citep{A01,B02}.

\clearpage

Some more text \citep{A01}.

\bibliographystyle{plainnat}
\bibliography{\jobname}

\end{document}

enter image description here

  • 1
    Nice, that solution works. Unfortunately am I using the natbib package (and would like to keep it that way) and that clashes with biblatex... – D.Roepo Nov 27 '11 at 16:59
  • In (pages 1, 2), is it possible to replace the round brackets with square brackets? – pluton Apr 27 '12 at 1:34
  • 2
    @pluton \usepackage{xpatch}\xpatchbibmacro{pageref}{parens}{brackets}{}{} – lockstep Apr 27 '12 at 2:57
  • 3
    The more recent question “Formatting back references in bibliography (BibTeX)” gives some bibtex/hyperref-based options (no biblatex required). – Peter LeFanu Lumsdaine Oct 24 '14 at 11:29
  • 2
    @homo_loquens You could have asked a separate (follow-up) question. ;-) Here's the answer: \renewbibmacro*{pageref}{\iflistundef{pageref}{}{\printtext[parens]{\printlist[‌​pageref][-\value{listtotal}]{pageref}}}}. You may replace parens with brackets. – lockstep Feb 22 '15 at 10:23

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.