インデックス作成 - 明示的に要求された場合にのみページ範囲を指定しますか?

インデックス作成 - 明示的に要求された場合にのみページ範囲を指定しますか?

40ページの冒頭でアリストテレスについて触れたとします。そして41ページの下から43ページにかけて、アリストテレスの全く異なる議論が議論されているとします。索引のエントリは次のようにしたいです。

アリストテレス、40、41–43

しかし\index{Aristotle}、40ページ、\index{Aristotle|(}41ページ、\index{Aristotle|)}43ページと並べると、不要な

アリストテレス、40~43

それで、見出しの質問ですが、明示的に指示された場合にのみ、隣接するページ番号をページ範囲に折りたたむようにインデックス作成を強制する方法はありますか?

違いがあるなら、私は Memoir クラスを使用しています。また、かなり基本的な質問と思われる既存の回答を見落としていた場合はお詫び申し上げます。

答え1

コマンドラインオプションを使用して MakeIndex を実行できます-r

次の例では、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}

ここに画像の説明を入力してください

man ページから:

       -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).

関連情報