align 環境の \index で ! を使用すると、Makeindex エラーが発生します。

align 環境の \index で ! を使用すると、Makeindex エラーが発生します。

!下記の MWE を参照してください。内の記号は\indexエラーを引き起こします。 これは、align環境でのみ発生します ( では発生しませんequation)。 したがって、 と何らかの関係があるようです。が 内に置かれたamsmath場合、エラーは発生しません。 ただし、その場合、当然ながらフォント サイズはサブインデックスに合わせて調整されません。 不思議なことに、(2 つの感嘆符) ではエラーは発生しません。!\mbox\index{$C_{K!!}$}


\documentclass{article}
\usepackage{amsmath}
\usepackage{imakeidx}
\makeindex
\begin{document}
\begin{align}
y\index{$C_{K!}$}
\end{align}
\printindex
\end{document}

何か解決策を提案していただけますか?

答え1

makeindex の場合、シンボルには!特定の意味があります。

makeindexのマニュアルtexdoc makeindex)には次の例/説明があります。

サブエントリを生成するには、コマンドの引数\indexに、文字で区切られたメインエントリとサブエントリの両方が含まれている必要があります!

Page 7:  \index{gnat!size of}  || gnat, 32
Page 32: \index{gnat}          ||     anatomy, 35
Page 35: \index{gnat!anatomy}  ||     size of, 7
         \index{gnus!good}     || gnus
Page 38: \index{gnus!bad}      ||    bad, 38
                               ||    good, 35

!マニュアルに記載されているシンボルを印刷するには

!インデックス エントリに、@、 の文字を入れるには|、その文字の前に を付けて引用符で囲みます"

したがって、あなたの例の正しい使用法は次のようになります。

\begin{align}
y\index{$C_{K"!}$}
\end{align}

引用符で囲まれた文字は、スタイル ファイルで次の行を設定することで変更できます。

 quote '+'

引用符で囲まれた文字は です。たとえば、ドイツ語の場合、が になる+ことが重要です。"aä

関連情報