我想改变参考书目中反向引用的显示方式,使它们都显示在括号内。所以我想看看
(第 x、y、z 页)
在我吃完 bibitems 之后。我认为这可以作为一个起点...
\usepackage[backref=page]{hyperref}
\renewcommand{\backrefxxx}[3]{(page \hyperlink{page.#1}{#1})}
但显然这会产生
(第 x 页)、(第 y 页)、(第 z 页)
答案1
这是一个使用的解决方案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}
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}