我添加了超链接包并出现一些错误。因此我删除了辅助文件并重新编译。这次没有错误,并且链接有效,除了在引用(参考书目)中,我得到问号和将我发送到第一页的链接。有什么想法吗?
事实上我不需要引用中的链接,所以如果有办法通过仅使用图表和索引中的链接来解决问题,那么我会很欢迎。
答案1
LaTeX 及其软件包需要多次编译才能使所有内容正确无误。例如,hyperref
在第一次运行中无法在文档中放置向前链接,因为文档的该部分尚未处理。因此,它将此信息存储在辅助文件中,并在下次运行时将其读回。未知目标只需由第一页替换即可。您只需编译文档至少两次,有时需要三次(例如,如果目录占用了多页并将文档的其余部分推得更远)。
我建议使用编译器工具,它可以按照正确的顺序和次数为您运行所有必要的步骤。许多 LaTeX 编辑器都可以为您做到这一点。还有一个脚本latexmk
可以很好地完成这项工作。对于 PDF 输出,请使用latexmk -pdf filename
。
如果这不能解决您的问题,请尝试提供最小工作示例(MWE)重现您的问题。我们还需要您使用的工具(操作系统、LaTeX 发行版、您采取的步骤等)
答案2
该hyperref
包关心的是它在代码中何时/何地被加载。建议将其作为最后一个包加载(大多数情况下)。因此,也许目前您正在将其加载到参考书目包之前,因此hyperref
无法更改要链接的 bib-macros(正确)。
正如马丁所说,如果你提供一个最小的工作示例(只需将其添加到你的原始问题中)将会很有帮助。
答案3
如果您碰巧babel-french
在命令中使用了冒号cite
,那么所有命令都会链接到第 1 页。
我遇到了麻烦,这个问题帮了我大忙。你应该把这个cite
包也包括进去。