我正在写一篇长篇文档,其中我将章节放入单独的文件中,并且每个章节都有单独的参考书目,为此我使用chapterbib
和natbib
。
我想自定义pagebackref
的功能hyperref
,如下所示这个问题。只要所有内容都在一个文件中,这种方法就很好,例如,
\documentclass{report}
\usepackage{natbib}
\usepackage[pdftex,backref,pagebackref]{hyperref}
\renewcommand*{\backref}[1]{}
\renewcommand*{\backrefalt}[4]{%
\ifcase #1
(Not cited.)%
\or
(Cited on page~#2.)%
\else
(Cited on pages~#2.)%
\fi}
\bibliographystyle{chicago}
\begin{document}
\chapter{Some stuff}
\cite{jdoe,jdough}
\chapter{Some stuff}
\cite{jdoe}
\bibliography{refs}
\end{document}
但是,一旦我将文档构建为单独的文件,就会遇到以下问题:
\backref
如果我包含和的定制\backrefalt
,参考文献中的页码总是显示为“(未引用)”。- 如果我注释掉自定义,页码就会正确显示。
这是MWE:
\documentclass{report}
\usepackage{chapterbib}
\usepackage[sectionbib]{natbib}
\usepackage[pdftex,backref,pagebackref]{hyperref}
\renewcommand*{\backref}[1]{}
\renewcommand*{\backrefalt}[4]{%
\ifcase #1
(Not cited.)%
\or
(Cited on page~#2.)%
\else
(Cited on pages~#2.)%
\fi}
\begin{document}
\include{chap1}
\include{chap2}
\end{document}
与 chap1.tex 类似:
\bibliographystyle{chicago}
\chapter{Some stuff}
\cite{jdoe,jdough}
\bibliography{refs}
和 chap2.tex:
\bibliographystyle{chicago}
\chapter{Some stuff}
\cite{jdoe}
\bibliography{refs}
我做错了什么吗?这是由于不兼容还是错误造成的?