我正在撰写一篇论文,其中每个章节都有一个参考书目,使用natbib
和bibunits
。一些引文出现在不同的章节中。hyperref
似乎总是链接到特定标签第一次出现的页面。我如何确保hyperref
'知道' 它应该链接到章节特定参考书目中的特定参考?
重现这些错误的最小工作示例:
% main.tex
\documentclass{book}
\usepackage[sort&compress,numbers,sectionbib]{natbib}
\usepackage[globalcitecopy]{bibunits}
\usepackage{hyperref}
\bibliographyunit[\chapter]
\defaultbibliographystyle{plain}
\defaultbibliography{bibliography}
\begin{document}
\include{chapter1}
\include{chapter2}
\end{document}
% chapter1.tex
\chapter{}
\citep{article}
\putbib
% chapter2.tex
\chapter{}
\citep{article}
\putbib
% bibliography.bib
@article{article,
author={Dummy},
title={Dummy},
year={2021},
journal={Dummy}
}
答案1
您可以更改目标名称并使其独一无二。但您还应该使用书签包来避免书签问题。
\documentclass{book}
\usepackage[sort&compress,numbers,sectionbib]{natbib}
\usepackage[globalcitecopy]{bibunits}
\usepackage{bookmark}
\bibliographyunit[\chapter]
\defaultbibliographystyle{plain}
\defaultbibliography{bibliography}
\renewcommand*{\HyperDestNameFilter}[1]{#1-\thechapter}
\begin{document}
\include{chapter1}
\include{chapter2}
\end{document}