假设我在第 40 页的顶部提到了亚里士多德。然后从第 41 页的底部到第 43 页讨论了亚里士多德的一个完全不同的论点。我希望索引条目显示为
亚里士多德,40,41-43
但是,放在\index{Aristotle}
第 40 页,然后\index{Aristotle|(}
放在第 41 页,再\index{Aristotle|)}
放在第 43 页,就会出现不需要的
亚里士多德,40–43
所以——标题问题——有没有办法强制索引仅在明确指示时将相邻页码折叠到页面范围内?
我正在使用 Memoir 类,如果这有区别的话!如果我忽略了这个看似非常基本的问题的现有答案,请原谅。
答案1
您可以使用-r
命令行选项运行 MakeIndex。
在下面的例子中我imakeidx
为了方便使用,所以我可以直接传递选项来进行自动调用makeindex
。
\documentclass{memoir}
\usepackage{imakeidx}
\makeindex[options=-r]
\begin{document}
A page with a reference to \index{Aristotle}Aristotle.
\clearpage
A group of pages that describe \index{Aristotle|(}Aristotle
\clearpage
Again about Aristotle.
\clearpage
Again about \index{Aristotle|)}Aristotle.
\printindex
\end{document}
从手册页中:
-r Disable implicit page range formation; page ranges must be created by
using explicit range operators; see SPECIAL EFFECTS below. By default,
three or more successive pages are automatically abbreviated as a range
(e.g. 1--5).