在 align 环境中,在 \index 中使用 ! 时,会出现 Makeindex 错误

在 align 环境中,在 \index 中使用 ! 时,会出现 Makeindex 错误

!请参阅下面的 MWE。中的符号\index会导致错误。这仅在align环境中出现(而不是在 中equation)。因此似乎与 有关系amsmath。如果!放在 中,则\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重要ä

相关内容