索引包列表 - 优点和缺点

索引包列表 - 优点和缺点

有哪些不同的索引包?它们的优点和缺点是什么?什么时候应该选择其中一个?

对此有一些讨论索引生成的最新/最佳实践是什么?,但我希望了解每个包的更多详细信息。

答案1

各种索引包提供的功能可分为三类:

  1. 支持多索引;

  2. 提供简化索引生成的宏;

  3. 允许定制索引布局。

Topic IndexTeX 目录列出了大约十几个与索引相关的包;这个概述是关于我使用过的包(或者至少读过手册)。

makeidx, A“创建索引的标准包”,提供了一些与索引相关的宏,例如,\printindex它们(无论出于何种原因)不是 LaTeX2e 内核(如\makeindex\index)或标准文档类(如theindex环境)的一部分。

multind “重新定义[the]\makeindex和命令\index\printindex处理多个索引”。该软件包早于 LaTeX2e;它不适用于 AMS 类,并且索引标题不会与其他章节/部分标题相对应地格式化。

index “支持单个文档中的多个索引并提供更强大的\index命令”。该包还提供\index*对单词进行排版并为其创建索引条目的功能。index可能会为非标准类别生成格式错误的索引标题。

splitidx/拆分索引允许“超过 16 个索引:splitidx仅输出单个文件\jobname.idx,程序 [splitindex] 将该文件拆分为多个原始索引文件,并为每个文件调用您最喜欢的索引处理器”。该splitidx包提供了\extendtheindex向环境添加各种钩子的宏theindex;后者的实际定制留给用户。

imakeidx “使用户能够同时生成和排版文档的一个或多个索引”通过使用现代 TeX 发行版的 shell-escape 功能。imakeidx能够调用 splitindex 程序(见上文),并且它具有一个键值接口,可以自定义索引布局的各个方面(包括使用特定.ist样式文件调用 MakeIndex 程序的可能性)。最初,imakeidx与类(使用特殊方法生成索引)不兼容memoir,但该软件包的 v1.1 版取消了该限制。

hvindex “简化了单词的索引[...] 索引文本中的单词,您只需输入一次;该软件包确保它既排版又索引”。该软件包提供了一组控制索引条目格式的宏;软件包手册没有说明这些宏是否可以用于创建多个索引。

idxlayout提供键值接口来配置索引布局参数,并响应与索引相关的选项和KOMA-Script命令memoir.idxlayout只处理theindex环境,而不处理样式文件;它可以在、和.ist之上使用。(披露:我是该软件包的作者。)indexsplitidximakeidx

repeatindex如果子项列表中出现分页符或分栏符,则重复索引项”. 软件包 README(自 2001 年起)指出repeatindex “尚未进行太多测试”并列出了一些已知问题。

indextools是 Maïeul Rouquette 的一个现代分支,引入了与双向语言排版imakeidx的兼容性。bidi

相关内容