MakeIndex 和 \alph

MakeIndex 和 \alph

阅读时MakeIndex 手册我偶然发现:

制作索引假定所有页码都是阿拉伯数字或小写罗马数字;它假定用罗马数字编号的页面在用阿拉伯数字编号的页面之前。

我想知道...我该如何解除这个限制?具体来说:我该如何告诉 MakeIndex不是验证页码格式吗?

例如,如果我在某个\alph页面上有一个索引条目。

我愿意接受有关替代索引预处理器的建议,但它们应该可以一起工作(如果记忆正确的话则hyperref排除)。xindy

答案1

以下test.tex文档编译完美并且所有页面引用都有其超链接:

\documentclass{book}
\usepackage{imakeidx}
\usepackage{hyperref}

\makeindex[program=texindy]

\begin{document}
\frontmatter
abc\index{abc}

\mainmatter
xyz\index{xyz}

abc\index{abc}

\newpage
abc\index{abc}

\cleardoublepage
\pagenumbering{alph}

\appendix
abc\index{abc}

\newpage
abc\index{abc}

\printindex

\end{document}

当然imakeidx没有必要,我用它来一步完成所有事情,运行

pdflatex --shell-escape test

具有字母编号的页面按阿拉伯数字编号之后排序,阿拉伯数字编号又在罗马数字编号之后,但我想可以自定义 Xindy 的行为。

另一方面,使用 MakeIndex 可以获得相同的结果。

相关内容