单击目录中的“索引”将显示最后一章,而不是“索引”

单击目录中的“索引”将显示最后一章,而不是“索引”

这是一个最小工作示例:

    % !TEX TS-program = pdflatexmk
\documentclass{book}

\usepackage{xcolor} 
\usepackage{makeidx}
\usepackage{hyperref}
\hypersetup{colorlinks,linkcolor={red!50!black}}

\makeindex
\begin{document}
%\frontmatter

\Large \textsc{Reasonable Book}

\tableofcontents

%\mainmatter

\chapter{One}   
Some text \textbf{indexed}\index{indexed}   

%\backmatter
\chapter{FDL}
The purpose of this License 

\addcontentsline{toc}{chapter}{Index}   
\printindex
\end{document}

当我单击Index时,table of contents我得到Chapter 2 FDL的不是Index。 (最初,FDL 在后面的内容中,但那似乎不是问题所在,因此我在这里将所有三个“内容”都注释掉了。)

答案1

使用将在没有手册的情况下\usepackage[nottoc]{tocbibind}提供。(如果本身不应在中另外列出,则是选项。)IndexToC\addcontentslinenottocToCToC

\newpage\phantomsection为了安全起见,必须遵循这一点。

   % !TEX TS-program = pdflatexmk
\documentclass{book}

\usepackage{xcolor} 
\usepackage{makeidx}
\usepackage[nottoc]{tocbibind}
\usepackage{hyperref}
\hypersetup{colorlinks,linkcolor={red!50!black}}

\makeindex
\begin{document}
%\frontmatter

\Large \textsc{Reasonable Book}

\tableofcontents

%\mainmatter

\chapter{One}   
Some text \textbf{indexed}\index{indexed}   

%\backmatter
\chapter{FDL}
The purpose of this License 

%\addcontentsline{toc}{chapter}{Index}   

\newpage
\phantomsection
\printindex
\end{document}

另一个解决方案是imakeidx-- 在我看来,这个更简短、更干净。此外,它会自动生成索引(如果\write18启用了and allows for splitted/multiple indexes etc.) Just say\makeindex[intoc]

   % !TEX TS-program = pdflatexmk
\documentclass{book}

\usepackage{xcolor} 
\usepackage{imakeidx}
\usepackage{hyperref}
\hypersetup{colorlinks,linkcolor={red!50!black}}

\makeindex[intoc]
\begin{document}
%\frontmatter

\Large \textsc{Reasonable Book}

\tableofcontents

%\mainmatter

\chapter{One}   
Some text \textbf{indexed}\index{indexed}   

%\backmatter
\chapter{FDL}
The purpose of this License 

\printindex
\end{document}

相关内容