
Мне нужно проиндексировать строку$@
\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}
Если закомментировать строку PROBLEM B, документ скомпилируется, но $
появится в индексе вместо $@
.
Если вы оставите строку PROBLEM B, она вообще не скомпилируется.
! Extra }, or forgotten \endgroup.
l.17 \subitem m {}}
, 1
Как включить @
в индекс?
решение1
Вы можете использоватьцитироватьсимвол для префиксадействительныйхарактер:
\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}
Символы зависят от стиля MakeIndex. Для получения дополнительной информации см., например, разделСПЕЦИФИКАЦИИ СТИЛЯ ВХОДАв руководстве MakeIndex.