Error de Makeindex cuando! utilizado en \index en el entorno de alineación

Error de Makeindex cuando! utilizado en \index en el entorno de alineación

Ver MWE a continuación. El símbolo !en \indexprovoca un error. Este es solo el caso en alignentornos (no en equation). Entonces parece tener que ver con algo amsmath. Si !se pone en un \mboxno hay ningún error. Pero, por supuesto, el tamaño de fuente no se ajusta a los subíndices. Curiosamente \index{$C_{K!!}$}(dos signos de exclamación) no provoca ningún error.


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

¿Alguna solución sugerida?

Respuesta1

Para makeindex el símbolo !tiene un significado específico.

Elmanual de makeindex( texdoc makeindex) tiene el siguiente ejemplo/explicación:

Para generar una subentrada, el argumento del \indexcomando debe contener tanto la entrada principal como la subentrada, separadas por un ! carácter.

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

Para imprimir el símbolo que !muestra el manual

Para poner un carácter !, @o |en una entrada de índice, comótelo precediendo el carácter con un ".

Entonces el uso correcto de su ejemplo es:

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

El carácter entre comillas se puede cambiar configurando la siguiente línea en el archivo de estilo:

 quote '+'

Ahora el personaje citado es +. Por ejemplo, para el idioma alemán es importante lo que "allega a ser ä.

información relacionada