如何使用tocbibind和idxlayout对索引进行编号?

如何使用tocbibind和idxlayout对索引进行编号?

我正在尝试对文档中的索引部分进行编号。如果我只使用 ,tocbibind它就可以完美运行,但是一旦我添加idxlayout,它就不起作用了。idxlayout没有numindex像 这样的选项tocbibind

以下是 MWE:

\documentclass[12pt]{article}

\usepackage{makeidx}
\makeindex

\usepackage[numindex]{tocbibind}
\usepackage[totoc]{idxlayout}

\begin{document}

\tableofcontents

\section{Test}

Test\index{test}

\printindex

\end{document}

如何将数字添加到索引部分并保留idxlayout

答案1

tocbibind更改和的加载顺序idxlayout不起作用,因为两个包都重新定义了theindex环境,因此稍后加载的任何包都会禁用前者的功能。

我没有添加索引编号选项,idxlayout因为我认为从排版角度来看这很糟糕。如果必须这样做,请修补内部\ila@prologue删除该totoc选项。

(注意:对于bookreport标准类以及memoir类,在下面的示例中将\section*/替换\section\chapter*/ \chapter。这些类需要不同的修补方法KOMA-Script。)

\documentclass[12pt]{article}

\usepackage{makeidx}
\makeindex

\usepackage[numindex]{tocbibind}
\usepackage{idxlayout}

% \usepackage{etoolbox}% already loaded by `idxlayout`
\makeatletter
\patchcmd{\ila@prologue}{\section*}{\section}{}{}
\makeatother

\begin{document}

\tableofcontents

\section{Test}

Test\index{test}

\printindex

\end{document}

相关内容