
文字列をインデックスする必要があります$@
\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 の行をコメント アウトすると、ドキュメントはコンパイルされますが、$
ではなく がインデックスに表示されます$@
。
問題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 マニュアルを参照してください。