我涉及的符号索引中的所有条目$\|\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\|$}
而不需要采取其他预防措施。