
Necesito indexar la cadena$@
\documentclass[a4paper,10pt,openany]{scrbook}
\usepackage{imakeidx}
\makeindex
\newcommand{\indexthing}[1]%
{%
\index{#1@\texttt{#1} (thing)}%
\index{things!\texttt{#1}}%
}
\begin{document}
\chapter{ch1}
foo\index{foo}
bar\index{bar}
\index{\$\@} % PROBLEM A
\indexthing{\$\@} % PROBLEM B
\chapter{ch2}
baz\index{baz}
\printindex
\end{document}
Si comenta la línea PROBLEMA B, el documento se compila pero $
aparece en el índice en lugar de $@
.
Si deja la línea PROBLEMA B, no se compilará en absoluto.
! Extra }, or forgotten \endgroup.
l.17 \subitem m {}}
, 1
¿Cómo lo incluyo @
en un índice?
Respuesta1
Puedes usar elcitacarácter para prefijar elactualpersonaje:
\documentclass[a4paper,10pt,openany]{scrbook}
\usepackage{imakeidx}
\makeindex
\newcommand{\indexthing}[1]%
{%
\index{#1@\texttt{#1} (thing)}%
\index{things!\texttt{#1}}%
}
\begin{document}
\chapter{ch1}
foo\index{foo}
bar\index{bar}
\index{\$"@} % PROBLEM A
\indexthing{\$"@} % PROBLEM B
\chapter{ch2}
baz\index{baz}
\printindex
\end{document}
Los caracteres dependen del estilo MakeIndex. Para obtener más información, consulte, por ejemplo, la secciónESPECIFICADORES DE ESTILO DE ENTRADAen el manual de MakeIndex.