阅读时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 可以获得相同的结果。