使用 imakeidx 包时,@ 符号表示索引键

使用 imakeidx 包时,@ 符号表示索引键

使用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 传递任何选项,该方法将起作用。

相关内容