\index 자체가 @를 사용할 때 @가 포함된 문자열을 어떻게 인덱싱할 수 있나요?

\index 자체가 @를 사용할 때 @가 포함된 문자열을 어떻게 인덱싱할 수 있나요?

문자열을 인덱싱해야 합니다.$@

\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}

문제 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 매뉴얼에 있습니다.

관련 정보