在我使用报告文档类和 hyperref 包的 Latex 文档中,文档结束前有以下代码:
\bibliographystyle{plain}
\addcontentsline{toc}{chapter}{Bibliography}
\bibliography{refsaut}
参考书目从第 91 页开始,一直到第 96 页(例如)。目录给出的参考书目页码为第 90 页(这是不正确的),单击目录中的超链接会将我带到参考书目之前的章节(该章节实际上从第 88 页开始)。
如果我将最后两个命令的顺序更改为以下内容:
\bibliographystyle{plain}
\bibliography{refsaut}
\addcontentsline{toc}{chapter}{Bibliography}
那么,目录中给出的参考书目页码是第 96 页(这又是错误的)。但至少现在,单击目录中的超链接确实可以正确地将我带到参考书目章节。
我该如何解决这个问题?我需要确保两件事:目录中的页码应该正确,目录中的超链接应该将我带到正确的页面。
答案1
该问题最简单的解决方案是使用包tocbibind
:
\usepackage[nottoc]{tocbibind}
该选项从目录本身中删除目录条目,这是最常见的用法。如果您需要它,只需执行
\usepackage{tocbibind}
不需要\addcontentsline
:如果存在的话,包将负责添加表格和图表列表以及索引。