我正在使用软件包hyperref
和chapterbib
。引用一直显示为[?]
,尽管我可以在aux
和bbl
文件中找到正确的键。逐个排除软件包后,我发现当我\usepackage{hyperref}
从软件包中删除时,我确实得到了正确的引用。
有没有办法同时使用这两个包?我是否遗漏了应该添加的包选项?
工作示例:
在主目录中,main.tex
\documentclass[10pt]{book}
% comment out \usepackage{hyperref} to get [1] instead of [?]
\usepackage{hyperref}
\usepackage{chapterbib}
\begin{document}
\include{chapters/chapter1}
\end{document}
在chapters/
目录中,chapter1.tex
:
\chapter[Example]{Test}
test: \cite{albertRoleRegulatoryVariation2015}
\bibliographystyle{naturemag}
\bibliography{chapters/chapter1}
在chapters/
目录中,chapter1.bib
:
@article{albertRoleRegulatoryVariation2015,
title = {The Role of Regulatory Variation in Complex Traits and Disease},
author = {Albert, Frank W. and Kruglyak, Leonid},
year = {2015},
month = apr,
volume = {16},
pages = {197--212},
issn = {1471-0064},
doi = {10.1038/nrg3891},
journal = {Nature Reviews Genetics},
}
构建pdflatex main.tex; bibtex chapters/chapter1; pdflatex main.tex; pdflatex main.tex
答案1
除极少数例外,该hyperref
软件包必须是最后加载的软件包(因为它需要修补多个软件包)
在这种情况下,加载hyperref
后chapterbib
可以解决问题