ページ番号なしでアイテム レベルでインデックスにエントリを追加するにはどうすればよいですか?

ページ番号なしでアイテム レベルでインデックスにエントリを追加するにはどうすればよいですか?

インデックスで、特定の項目をグループ エントリ名でグループ化したいと考えています。使用可能な 3 つのレベル (項目、サブ項目、サブサブ項目) をすでに使用しているので、ページ番号のないエントリを作成しようとしました。次の例では、「奇妙な言語」の後にはページ番号が続くべきではありません。これは、後続のクラスのタイトルとして意図されているためです。

 \documentclass[12pt,twoside,a4paper,openright]{book}

 \usepackage{xunicode}
 \usepackage{imakeidx} 
 \makeindex[name=texts,title=Texts,columns=1,options=-s mystyle -c -l] 
 \begin{document}

 \index[texts]{Script@\string\textbf{Weird Languages}}

 3.28\index[texts]{Script!Aramaic!3.28}
 5.1\index[texts]{Script!Greek!5.1}
 8.1\index[texts]{Script!Demotic!8.1}

 \printindex[texts]

 \end{document}

これまでの結果は次のとおりです。

PDF出力

個々のエントリ (ここでは「奇妙な言語」) のページ番号を非表示にするにはどうすればよいでしょうか。または、他の項目のページ番号を通常どおりに維持しながら、ページ番号のない項目を追加するにはどうすればよいですか。

答え1

私が実際に使ってみてうまくいったハックを紹介します。

前文に次の定義を追加します。

\newcommand{\idxnopage}[1]{{}}
\providecommand{\gobble}[1]{{}}
\newcommand{\idxsechead}[1]{\textbf{#1}\gobble}

適切なソート引数とテキストを挿入して、次のように使用します。

\index{<sort argument>@\idxsechead{<header text>} |idxnopage}

を組み込んだ「複合」定義を思いつくことができませんでした\idxnopage。(おそらく、david または egreg がこれを改善できるでしょう。)

編集:これは、上記の出力を生成する小さな例です。最初の LaTeX 実行によって生成されたファイルmakeindexに対して実行し、その後、出力にインデックスを実際に含めるために、LaTeX を介してファイルを再度処理することが重要であることに注意してください。.idx.tex

\documentclass{article}
\usepackage{makeidx}
\newcommand{\idxnopage}[1]{{}}
\providecommand{\gobble}[1]{{}}
\newcommand{\idxsechead}[1]{\textbf{#1}\gobble}
\makeindex

\begin{document}
Here is some text\index{some text} that we want indexed.

We also want a ``header'' in the index.
\index{00@\idxsechead{Header} |idxnopage}
\printindex
\end{document}

答え2

概念実証のためだけに、.ind上記のサンプル ファイルから生成されたファイルを取得すると、次のようになります。

\begin{theindex}

  \item Script
    \subitem Aramaic
      \subsubitem 3.28, 1
    \subitem Demotic
      \subsubitem 8.1, 1
    \subitem Greek
      \subsubitem 5.1, 1
  \item \string, \textbf{Weird Languages}{1}

\end{theindex}

次のように変更します。

\begin{theindex}

  \item \textbf{Weird Languages}
  \item Script
    \subitem Aramaic
      \subsubitem 3.28, 1
    \subitem Demotic
      \subsubitem 8.1, 1
    \subitem Greek
      \subsubitem 5.1, 1

\end{theindex}

のオプションxelatexを付けてもう一度実行すると、「noautomaticimakeidx奇妙な言語' を 'Script' の上に、同じレベルに置きますが、ページ参照はありません。1 回か 2 回の編集であれば、非常に簡単です。

関連情報