索引上的页码链接到错误的页面

索引上的页码链接到错误的页面

我遇到了索引和超链接问题。索引中显示的页码是正确的,但单击它会重定向到 PDF 上的错误(物理)页面。我也在多个 PDF 查看器中尝试过。以下是 MWE:

\documentclass{book}

\usepackage{blindtext}

\usepackage{makeidx}
\makeindex

\usepackage{hyperref}

\begin{document}
Thesis Name
\cleardoublepage

\pagenumbering{roman}
University Name
\cleardoublepage

\tableofcontents

\cleardoublepage

\pagenumbering{arabic}

\chapter{Chapter Title}
\blindtext[5]

\section{A Long Section}
\blindtext[2]\\

Some Indexed Definition\index{definition!type one}\\

\blindtext[5]\\

Another Indexed Definition\index{definition!type two}\\

\blindtext[4]\\

\printindex

\end{document}

该问题与发布的问题相同这里。然而该解决方案对我不起作用:我尝试使用 \usepackage[hypertexnames=true]{hyperref},但问题仍然存在。

我知道这是因为这两个\pagenumbering{}命令。事实上,如果我注释掉它们,页码和它指向的物理页面都可以正常工作。但让我困惑的是,这个makeidx知道正确的页码,但它似乎hyperref不知道!

同样的事情发生在参考书目中,并将backref=page选项添加到hyperref包中(未在 MWE 中显示)。

任何有关此事的帮助都将不胜感激。干杯!

答案1

问题出在前两页\pagenumbering{roman}。通常,(内部)卷首插图的编号与前页相同。

如果你坚持在“论文名称”之后开始编号,请发出

\pagenumbering{Alph}
\pagestyle{empty}

开始 ,然后 恢复\pagestyle{headings}\frontmatter这比 发行 更好\cleardoublepage\pagenumbering{roman}

\documentclass{book}

\usepackage{blindtext}

\usepackage{makeidx}
\makeindex

\usepackage{hyperref}

\begin{document}

\pagenumbering{Alph}
\pagestyle{empty}

Thesis Name

\frontmatter
\pagestyle{headings}

University Name

\tableofcontents

\mainmatter

\chapter{Chapter Title}
\blindtext[5]

\section{A Long Section}
\blindtext[2]

Some Indexed Definition\index{definition!type one}

\blindtext[5]

Another Indexed Definition\index{definition!type two}

\blindtext[4]

\printindex

\end{document}

相关内容