【LaTeX技巧36】错误Package hyperref Warning: old toc file detected

2015-03-17 12:23 阅读 999 次 评论关闭

LaTeX错误的问题描述:

情况1:在导言区使用
\usepackage[dvipdfm]{hyperref}

\usepackage{hyperref}

然后编译的时候,出现以下信息:

Package hyperref Warning: old toc file detected, not used; run LaTeX again.

! Improper alphabetic constant.
<to be read again>
                   \ifnum
l.18 \section{一些术语}

情况2::用了ctex『\documentclass[a4paper, cs4size, CCT, CCTfont, punct, fancyhdr]{ctexbook}』但在下面如果使用 \usepackage{hyperref}的话,就无法完成编译,下面是部分编译日志:

... ...
Package hyperref Warning: old toc file detected, not used; run LaTeX again.
... ...
LaTeX错误的问题扩展:

Ctexhyperref是不是有冲突?

作为中文支持来讲,CCT,CJK长期占据了国内的TeX用户,这两个都有不少各自的问题,现在来讲,xeCJK即XeTeX 在中文支持上更有优势。

ctex包,把如上几个中文支持方式进行了集成,实际还是原有的CJK或者CCT,有了局部的改进,比如CJK中英文间距等等,所以在使用ctex包时,通常编译的时候使用的中文支持还是CJK,故而上面的问题的解决如下。
LaTeX错误的解决方案:

给hyperref包加上一个选项
\usepackage[CJKbookmarks=true]{hyperref}
错误就消失了。

解决方案扩展:

若是你用的是texlive 会发现书签依然是乱码的,这时需要调用GBK2UNI这个软件处理一下.out文件即可。如何处理,非常简单,ctex里面把gbk2uni放到winedt里自动调用了。

大家可以自己下载 这个软件:到http://www.hooklee.com/ 或者ftp.chinatex.org/tools 里下载。
用命令(X表示路径) X\gbk2uni.exe  paper (也可以把路径加到系统环境变量直接调用即可)
再在这个基础上编译一次,书签就正常了。

实际这是比较古老的中文支持,仅仅作为一个问题解决。不推荐大家再使用这种支持方式了。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:【LaTeX技巧36】错误Package hyperref Warning: old toc file detected | 猎微网

评论已关闭!