解决TeX中destination with the same identifier的问题

警告的内容

destination with the same identifier (name{page.5}) has been already used, duplicate ignored<to be read again>

原因

举个不太恰当的例子。一个pdf文件同时具有内部编号和显式编号。pdf的第一页的内部编号为1,第二页为2,以此类推。显式编号是你在pdf中看到的页号,比如目录里的i ii iii,正文里的1 2 3,附件里的A B C。因此,内部编号和显式编号不一定能对得上;一般不会出现警告。但是在使用\frontmatter\mainmatter等命令生成i ii iii 1 2 3等显式编号的同时,使用了hyperref包的话,就可能产生警告。

解决方法

不具有通用性,请勿参考。

第一步

\begin{document}后立刻添加\hypersetup{pageanchor=false},作用是:停止对页面进行内部编号。理由是:如果使用\documentclass{book}的话,默认从封面就开始对页面进行内部编号。

封面、摘要和致谢一般不进行显式编号。

在生成封面、摘要和致谢后可以使用\frontmatter对内容目录、表格目录和图片目录用罗马数字进行显式编号

第二步

在正文前添加\hypersetup{pageanchor=true},作用是:从这里开始对页面进行内部编号,从1开始。添加后即可使用\mainmatter命令对正文内容进行从1开始的显式编号。

举例

\begin{document}
\hypersetup{pageanchor=false} % 停止内部编号
\makepreliminarypages % 生成封面、摘要和致谢
\frontmatter % 为内容目录、图片目录和表格目录生成显式编号 i ii iii
\tableofcontents % 内容目录
\listoffigures % 图片目录
\listoftables % 表格目录
\hypersetup{pageanchor=true} % 开始内部编号
\mainmatter % 为正文生成显式编号 1 2 3
\maintext % 正文
\end{document}

另记

使用hyperref包时,可能需要使用如下参数(不知道是否默认为false)。

\usepackage[plainpages=false]{hyperref}

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值