使用imakeidx
包,我正在生成索引。定义索引键时,我希望@
按如下方式使用该键:
\index{@variable}
@variable
是索引键。它似乎@
应该用于其他用途。我如何使用该@
符号?
答案1
该@
字符确实是为 MakeIndex 处理保留的;它用于以下条目
\index{abc@\textit{abc}}
其中要索引的文本具有格式,并且我们想要指定一个键以便进行排序。
你有两种选择。第一种是@
通过输入
\index{"@variable}
(但是这个可能如果加载一种使其成为简写前缀的babel
语言则失败)。"
第二个策略是添加
\begin{filecontents*}{\jobname.mst}
actual '='
\end{filecontents*}
在你的主 TeX 文件的最开始处(之前\documentclass
是最佳位置)。
这假设=
您的条目中从未使用过。可以使用=
而不是输入上述示例中的“排序键”条目@
\index{abc=\textit{abc}}
并且\index{@variable}
现在将按符号进行排序。
诀窍是filecontents*
环境将写入一个名为<jobname>.mst
(其中<jobname>
是主 TeX 文件名)的文件,并且 MakeIndex 在处理文件时会查找它。
但是,这将阻止加载文件.ist
,所以要小心。如果您不向 MakeIndex 传递任何选项,该方法将起作用。