Hyperref 和 imakeidx 不能一起工作

Hyperref 和 imakeidx 不能一起工作

我使用imakeidx包在我的文档中生成索引。我想将超链接添加到我的索引中,但在我看来,hyperrefimakeidx不能一起工作。例如,此代码不会创建可链接的索引:


\documentclass[11pt]{book}
\usepackage[pdftex]{color}

\usepackage{hyperref} \hypersetup{ colorlinks, citecolor=green, filecolor=green, linkcolor=blue, urlcolor=green } \usepackage[makeindex]{imakeidx} \makeindex \begin{document} Text\index{text} \printindex \end{document}

如何解决这个问题?谢谢。

答案1

加载imakeidx hyperref。一般来说,hyperref应该最后加载,但也有一些例外(见哪些包应该在 hyperref 之后加载而不是之前加载?)。

答案2

套餐hyperrefimakeidx可以通过创建新命令一起使用,如附件示例中所示。它可以组合多个命令以提供替代字体和超级引用。为了简化将单词输入索引的过程,\IN引入了命令。编译后会生成 3 页 PDF 文件,其中包含以下索引。

索引
ENTRY,1
entryA,1,2
entryB,2

\documentclass[11pt]{book}
\usepackage[pdftex]{color}
\usepackage{hyperref}
\hypersetup{colorlinks,linkcolor=blue}
\usepackage{imakeidx}
\makeindex[columns=1]
\newcommand{\BH}[1]{\large\textbf{\hyperpage{#1}}\normalsize}
\newcommand{\IN}[1]{\index{#1|BH}}

\begin{document}
Text on page 1
\index{entryA|BH}
\IN{ENTRY}
\newpage
Text on page 2 \IN{entryA}\IN{entryC}
\printindex
\end{document}

答案3

您还可以更改包并使用splitidx代替imakeidx

相关内容