我想在索引中添加一个条目,该条目使用感叹号作为语法条目。但是(当然),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.ist
LaTeX 基础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}