如何让索引将感叹号识别为条目的一部分

如何让索引将感叹号识别为条目的一部分

我想在索引中添加一个条目,该条目使用感叹号作为语法条目。但是(当然),Latex 将其视为我想开始一个子条目。

考虑下面的代码。

\documentclass{book}
\usepackage{imakeidx}
\let\cleardoublepage\clearpage
\makeindex
\usepackage{idxlayout}

\begin{document}
\LARGE
A sentence.\index{Heading@\textbf{Heading}!How to put an exclamation point at the end of this statement!}
\idxlayout{columns=1}
\printindex
\end{document}
 

输出

在此处输入图片描述

我尝试用 括住感叹号,$$但这只会导致错误。

问题如何修改上述代码,以便例如“如何在该语句末尾添加一个感叹号!”将作为索引中的条目出现,并在末尾附加一个感叹号?

谢谢。

答案1

!您可以引用"!

或者你可以改变 makeindex 的特殊字符,所有这些字符都可以在样式中设置makeindex。例如,gind.istLaTeX 基础doc包附带的

actual '='
quote '!'
level '>'

所以actual不是(因为命令名称中有很多)并且引用是而不是再次=,因为在代码中更常见。@@!""

全套是

在此处输入图片描述

来自 makeindex/ind.pdf

texdoc ind.pdf

texdoc -l makeindex然后选择 2,因为默认的 makeindex.pdf 信息量不大)

所以你想要

在此处输入图片描述

所以只有一行mlc.ist文件:

level '>'

这样它就!变成了一个普通字符,并>成为索引级别的分隔符。

如果makeindex直接调用,您将需要makeindex -s mlc.ist,但在使用时imakeidx请指定选项\makeindex

\documentclass{book}
\usepackage{imakeidx}
\let\cleardoublepage\clearpage
\makeindex[options=-s mlc.ist]
\usepackage{idxlayout}

\begin{document}
\LARGE
A sentence.\index{Heading@\textbf{Heading}>How to put an exclamation point at the end of this statement!}
\idxlayout{columns=1}
\printindex
\end{document}

相关内容