LaTeX中加入包hyperref出现的错误之解决

在论文写作中为每个目录项或者其他类型的引用项加上超链接可以快速帮助自己查看和修改论文,尤其是当论文比较长的时候。这适用于论文初稿时,当论文定稿后,可根据需求与否,再决定是否继续适用这种类型的超链接。本文要讲的是在使用包hyperref建立上述超链接时出现的一个错误,及该错误的解决方法。本文对没有过多LaTeX使用经验的人来说,是很有帮助的。

1 问题描述

1.1 LaTeX的环境

  • LATEX <script type="math/tex" id="MathJax-Element-73">\LaTeX</script>的运行环境如下图:
    这里写图片描述

  • 使用的documentclass为scrbook

1.2 出现问题

再原来文档内容的基础上,在preamble的最后加上下面指令:

%----back reference the citation
%    最好放在所以包的最后
\usepackage[backref]{hyperref}
%----

采用xelatex编译后出现的错误提示为:

(c:/texlive/2015/texmf-dist/tex/latex/base/omscmr.fd) [4]
Runaway argument?
{\@firstoffive }\fi ), so all elements of the truth table for $\sim P\ETC.
! Paragraph ended before \Hy@setref@link was complete.
< to be read again >
\par
l.95
?

2 解决办法

遇到此问题,应该删除主文件目录下的aux文件,该文件的名称与documentclass所在的文件名一致,对于本文例子,是如下图中椭圆形圈定的文件:
这里写图片描述

删除文件后,再次使用xelatex连续两次编译tex文件1,即可看到我们需要的结果,首先看目录项的结果:
这里写图片描述
再来看论文引用项和其他引用项的结果:
这里写图片描述

至于为什么会出现这个问题,需要我进一步的探求。


  1. 编译一次不会看你想要的结果。使用 LATEX <script type="math/tex" id="MathJax-Element-136">\LaTeX</script>的时候,所有出现交叉引用 (cross-reference)的地方,都要连续编译2次才能看到最终的结果。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页