使用 hyperref 和罗马页码进行索引

使用 hyperref 和罗马页码进行索引

我正在撰写的一份文件需要索引。这很好……只是“前言”有罗马页码,这似乎有点混乱。

在编译时,我收到警告“pdfTeX 警告(dest):n​​ame{page.i} 已被引用但不存在,已被固定的替换”。

索引中的条目很好 - 但链接没有转到正确的页面。

据我所知,这里没有一个答案完全符合我的问题。我更加困惑,因为 makeindex 文档指出“MakeIndex 假设所有页码都是阿拉伯数字或小写罗马数字;它假设用罗马数字编号的页面在用阿拉伯数字编号的页面之前。”

有人能解释一下我做错了什么吗?或者 makeindex/hyperref 根本就不执行我要求(和期望)的操作?如果是这样,还有其他方法可以实现我想要做的事情吗?

[我应该补充一下,我已经尝试过 texindy,但真的不明白发生了什么!]

平均能量损失

\documentclass{report}
\usepackage[T1]{fontenc}
\usepackage[hypertexnames=false]{hyperref}
\usepackage{makeidx} % For creating indexes

\makeindex

\begin{document}

\pagenumbering{roman}
\chapter{Further Reading}
    \label{chap:furtherreading}
    Further reading goes here \index{Reading}

\clearpage

\chapter{Logging In}
\pagenumbering{arabic}
    \label{chap:loggingin}
    Some text for the first main page. \index{Main}

\clearpage

\printindex

\end{document}

答案1

hypertexnames=false破坏了此处的索引功能,因为它删除了页面锚点名称中的页面计数器的格式。

相关内容