将 PDF 书签添加到索引页?

将 PDF 书签添加到索引页?

使用\usepackage{hyperref}\pdfbookmark[0]{...}{...}命令,您可以放置​​ PDF 书签生成的索引页\printindex(有时它会指向索引前的空白页。)如何才能将书签准确地放置在索引标题上?


读完目前的答案后,我似乎必须稍微完善一下这个问题。

我现在注意到了两件一开始我没有注意到的事情:

  • 索引总是放在奇数页上。(这可能是常识,但对我来说不是:-)
  • 如果索引前的偶数页文本,然后书签放在\printindex 将要指向索引页。如果插入了空白页(偶数页),则书签将指向此空白页,而不是索引页。

我还应该提供将索引放置在我们的自定义文档类中的构造:

 \AtEndDocument{
   \pdfbookmark[0]{\indexname}{bookmarkForTheIndex}
   \printindex
 }

请注意,我发现了一些关于 AtEndDocument 和索引的内容,但我担心我不太理解它......http://www.tug.org/TUGboat/Articles/tb19-1/tb58works.pdf

答案1

\printindex启动一个theindex环境,默认情况下会调用\twocolumn,这会启动一个新页面(这会导致您的问题)。以下应该可以解决问题:

\cleardoublepage
\pdfbookmark[0]{\indexname}{idx}
\printindex

(您也可以简单地将索引包含在目录中。)

答案2

这个很简单,至少对我来说终于很简单了。它曾经让我发疯。我把我能想到的每一段代码都注入进去,\printindex试图让它正确。我小心翼翼地使用hyperref \phantomsection以及定制的 ,结果非常接近了\Hy@raisedlink。但感觉一直不太完美。后来我发现了我们的好朋友步调一致idxlayout包,像这样使用它:\usepackage[unbalanced,totoc]{idxlayout}。现在一切都很好。

相关内容