如何修复符号索引条目?

如何修复符号索引条目?

我涉及的符号索引中的所有条目$\|\cdot\|$都被拒绝。例如 {\index{symbol}{normx@{$\|\cdot\|_X$}}}

我怎样才能解决这个问题?

答案1

该符号|在命令中很特殊,\index因为它处理特殊的页面范围。您需要使用类似以下命令来隐藏 TeX 中的该符号

\newcommand{\norm}{\|}

还请注意,\index只接受一个参数,即索引条目。如果您还想以文本形式打印此条目,则需要使用以下格式:

...blah blah symbol\index{symbol} blah blah...

虚拟复制排版组件和索引条目。这是经过上述修改的 MWE:

在此处输入图片描述

\documentclass{article}
\usepackage{makeidx}% http://ctan.org/pkg/makeidx
\newcommand{\norm}{\|}
\makeindex
\begin{document}
See $\|\cdot\|_X$\index{normx@$\norm\cdot\norm_X$} and the norm\index{norm}.

\printindex
\end{document}

考虑阅读 Leslie Lamport 的MakeIndex:LaTeX 的索引处理器

答案2

MakeIndex 的特殊字符应该是:因此要建立索引,|x|你必须写

\index{"|x"|}

特殊字符之前的字符"会使其失去意义。但是\"不会以特定方式处理(这是重音命令),因此您的输入应该是

\index{"\"|x"\"|}

或者\index{normx@"\"|x"\"|}如果您想要一个用于指定字母顺序的字符串。

如果您使用|比条目更多的条目,例如\index{abc|see def}您可以创建仅包含一行的个人 MakeIndex 样式

encap '*'

调用此文件mystyle.ist并调用 MakeIndex 作为

makeindex -s mystyle.ist filename

|这将禁用(其角色由)的特殊功能*,因此您可以输入\index{normx@$\|x\|$}而不需要采取其他预防措施。

相关内容