Formatting back references in bibliography [BibTeX]
Use:
\usepackage[pagebackref=true]{hyperref}
\renewcommand*{\backref}[1]{}
\renewcommand*{\backrefalt}[4]{[{\tiny%
\ifcase #1 Not cited.%
\or Cited on page~#2.%
\else Cited on pages #2.%
\fi%
}]}
I put this is in a \tiny
font in between square brackets []
. Change to your own tastes:)
For a similar scenario, I preferred using a more concise text and explain it at the beginning of the bibliography, rather than using \tiny
(which looks bad here, especially inside normal-sized brackets).
Combining Andrew's answer with natbib
's \bibpreamble
and some space before the actual reference list with \bigskip
, I ended up with the following setup, to customize as needed:
% Add any needed options:
\usepackage{natbib}
\usepackage[backref=page]{hyperref}
% Customize list of backreferences.
% From https://tex.stackexchange.com/a/183735/1340
\renewcommand*{\backref}[1]{}
\renewcommand*{\backrefalt}[4]{%
\ifcase #1%
\or [Page~#2.]%
\else [Pages~#2.]%
\fi%
}
% Explain list of backreferences.
% https://tex.stackexchange.com/a/70953/1340
\renewcommand{\bibpreamble}{%
[Citing pages are listed after each reference.]%
\par\bigskip}
Of course, one can customize that preamble text (and formatting) further. To move the prelude closer to the title, for now I've settled on the following—but I'm not sure such low-level tuning is good typography (the above looks safer), so YMMV:
\newcommand{\myBibPreambleText}{[Citing pages are listed after each reference.]}
\renewcommand{\bibpreamble}{%
\vspace{-2 \bigskipamount}%
\myBibPreambleText%
\par \vspace{2 \bigskipamount}}
EDIT: instead of hacking vertical spacing like that, it's probably more robust (typographically) to modify \bibsection
to add a "subtitle", so that TeX computes the appropriate position. I can do this with the following code, where I've added \\ {\normalsize\mdseries \myBibPreambleText}
to the definition of \bibsection
which was in use for me, unless I load the tocbibind
package, which rewrites the relevant code.
\newcommand{\myBibPreambleText}{[Citing pages are listed after each reference.]}
\makeatletter
\renewcommand{\bibsection}{
\chapter*{\bibname \\ {\normalsize\mdseries \myBibPreambleText}}
\@mkboth {\MakeUppercase {\bibname }}{\MakeUppercase {\bibname }}
}
\makeatother