如何在索引页中添加说明性文字?

如何在索引页中添加说明性文字?

注意:关于任何索引生成包的答案都是有益的,例如splitidx或默认makeidx

我见过一些书在目录后面有解释性文字指数标题,但在实际索引列表之前。如何在不手动修改.idx.ind文件的情况下做到这一点?该命令printindex似乎无法实现。

这是一个足够好但遗憾的是太小的例子:

在此处输入图片描述

这是使用该包的 MWE makeidx

\documentclass[12pt]{book}
\usepackage{makeidx}\makeindex
\usepackage{lipsum}

\begin{document}

\lipsum[1]
\index{1@One makeidx entry!With a subentry}

%How to put text on the following index page?
\printindex
%Be sure to run: makeindex <filename>


\end{document}

splitidx下面是使用该包并创建两个索引的MWE :

\documentclass[12pt]{book}
\usepackage[split]{splitidx}\makeindex
    \newindex{firstindex}
    \newindex{secondindex}
\usepackage{lipsum}

\begin{document}

\lipsum[1]
\sindex[firstindex]{1@One splitindex entry!Using firstindex}
\sindex[secondindex]{Another splitindex entry!Using secondindex}

%How to put text on the following index pages?
\printindex[firstindex][A splitindex: firstindex]
\printindex[secondindex][A splitindex: secondindex]
%Be sure to run: makeindex <filename>-firstindex; makeindex <filename>-secondindex

\end{document}

答案1

使用包imakeidx而不是makeidx。此包更加强大,并且允许:

  • 使用以下方法在多列中建立索引\makeindex[columns=n]

  • 之前的文本指数之后标题\indexprologue{Text ...}。此命令必须放在 的前面\printindex

  • 自动运行makeindex

  • splitindex由 Markus Kohm提供脚本支持。

  • 其描述的其他选项文档

示例 MWE

\documentclass[12pt]{book}
\usepackage{imakeidx}\makeindex
\usepackage{lipsum}

\begin{document}

\lipsum[1]
\index{1@One entry!With a subentry}~\index{a@Other entry}
\indexprologue{\noindent How to put text on the following index page?}
\printindex


\end{document}

也可以使用此包生成多个索引。在这种情况下,您必须使用选项和在和上splitindex运行来加载包(如果和是索引的名称)。或者使用或选项自动运行来执行此操作。makeindex<filename>-firstindex<filename>-secondindexfirstindexsecondindexpdflatex--enable-write18-shell-escape

笔记:没有必要给所有索引命名(如splitidx)。只需保留“主”索引的名称,并为其他索引命名。并使用\makeindex(不带参数)主要的索引)以及\makeindex[name=...,title=...]其他索引。观察示例

\documentclass[12pt]{book}
\usepackage[splitindex]{imakeidx}
    \makeindex
    \makeindex[name=secondindex,title=Second Index]
\usepackage{lipsum}

\begin{document}

\lipsum[1]
\index{1@One splitindex entry!Using firstindex}
\index[secondindex]{Another splitindex entry!Using secondindex}

\indexprologue{\noindent How to put text on the following index pages?}
\printindex

\indexprologue{\noindent How to put text on the following index pages in the second index?}
\printindex[secondindex]
%Be sure to run: makeindex <filename>-splitindex; makeindex <filename>-secondindex
%Only if you didn't run pdflatex with the `--enable-write18` option.

\end{document}

因此创建了一个<filename>-splitindex.idx文件主要的索引和<filename>-secondindex.idx第二个。主要的index 用于\indexname索引的标题。

跑步

pdflatex --enable-write18 <filename>

将自动执行此操作。

\documentclass[12pt]{book}
\usepackage[splitindex]{imakeidx}
    \makeindex[name=firstindex,title=First Index]
    \makeindex[name=secondindex,title=Second Index]
\usepackage{lipsum}

\begin{document}

\lipsum[1]
\index[firstindex]{1@One splitindex entry!Using firstindex}
\index[secondindex]{Another splitindex entry!Using secondindex}

\indexprologue{\noindent How to put text on the following index pages?}
\printindex[firstindex]

\indexprologue{\noindent How to put text on the following index pages in the second index?}
\printindex[secondindex]
%Be sure to run: makeindex <filename>-firstindex; makeindex <filename>-secondindex

\end{document}

相关内容