目录中的索引列出不正确

目录中的索引列出不正确

我有一个大型文档,其索引通过 编译makeindex,并包含在我的源中,.tex如下所示:

\cleardoublepage
\phantomsection 
\addcontentsline{toc}{chapter}{Index}
\printindex

但是,\addcontentsline没有正确地将索引添加到目录或生成的 PDF 中的书签列表中。

参考书目....................................................................................................................................................................................330

一个解决方案是写入新命令,,\immediateaddcontentsline这会将索引添加到目录和书签列表中。书签链接正常工作。但在目录中,页码现在以罗马数字“xvi”而不是“349”列出。

参考书目....................................................................................................................................................................................330

索引....................................................................................................................................................................................................................................................... xvi

“xvi” 是当前页面,所以看起来有些事情非常混乱。这可能与新 TOC 命令的即时性有关。

是否有可能将索引列在目录中?还是我必须使用不同的索引制作器?

答案1

无需修改\addcontentsline,只需加载我的idxlayout带有选项的包totoc。 (idxlayout与标准类、KOMA-Script 类和兼容memoir。)

\documentclass{report}

\usepackage{makeidx}
\makeindex

\usepackage[totoc]{idxlayout}

\usepackage{hyperref}

\begin{document}

\tableofcontents

\chapter{foo}

Some text.\index{Text}

\printindex

\end{document}

答案2

假设\printindex触发器\chapter*和章节总是从右侧页面开始,尝试插入\cleardoublepage然后\addcontentsline。如果章节可以从右侧页面或左侧页面开始,\clearpage就足够了。

答案3

另外还有tocbibind包以包含目录、参考书目和目录中的索引。如果您只想包含索引,请使用

\usepackage[nottoc,notbib]{tocbibind}

\phantomsection并在索引之前放置一个,这样超链接就不会针对索引之前的某些内容。

答案4

颠倒这些行的顺序可能会有效果,例如,

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

至少,当我遇到与 bibtex 书目类似的问题时,它确实如此,

\bibliography{references}
\addcontentsline{toc}{section}{References}

相关内容