如何获取 ToC 中索引的正确页码

如何获取 ToC 中索引的正确页码

可能重复:
目录中出现编号的问题
目录中的索引列出不正确

我在用

\usepackage{madeidx}
\makeindex

我在 ToC 中添加了索引条目

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

这样,我就可以获得目录中索引的条目,但是打印的页码比实际页码少一。

如何获取正确的页码?

答案1

解决方案一:\addcontentsline在前面加上\clearpage(或\cleardoublepage在 twoside 和 openright 中):

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

解决方案二:使用tocbibind管理将目录、索引、参考书目等自动纳入目录的包。包的行为可以通过一些参数控制,请参阅上面链接中的文档。

答案2

将以下内容添加到文档序言中:

\makeatletter
\g@addto@macro{\theindex}{\addcontentsline{toc}{chapter}{Index}}
\makeatother

这会将与内容相关的条目插入为索引实际打印之前的最后一项。

相关内容