我的索引条目在数学模式下包含一条垂直线。makeindex
似乎用反斜杠替换它,导致我重新编译时出现错误,因为它认为反斜杠后面的文本是一个命令。
梅威瑟:
\documentclass{article}
\usepackage{makeidx}
\makeindex
\begin{document}
$(r|p)$ centroid \index{$(r|p)$ centroid}
\printindex
\end{document}
我运行latex
时没有错误,然后makeindex
也没有任何错误或警告,然后当我latex
再次运行时我得到:
Writing index file mwe.idx
(./mwe.aux) (./mwe.ind [1{/usr/local/texlive/2015/texmf-var/fonts/map/pdftex/up
dmap/pdftex.map}]
./mwe.ind:3: Undefined control sequence.
l.3 \item $(r\, \p
)$ centroid{1}
mwe.ind
包含:
\begin{theindex}
\item $(r\, \p)$ centroid{1}
\end{theindex}
mwe.idx
包含:
\indexentry{$(r|p)$ centroid}{1}
注意:如果我使用,也会出现同样的问题\index{rp centroid@$(r|p)$ centroid}
。
有什么建议吗?
答案1
在 中makeindex
,竖线是转义字符,用于引入要应用于页码的命令。因此,它具有与反斜杠相同的效果(并被解释为反斜杠)。例如,如果您希望页码以斜体显示,请以 结束索引条目输入\textit
。
如果您希望在索引中出现垂直条,请将其输入为\vert
(在数学模式下)。(还有一些其他可能性,但我现在不在可以检查的位置。)
手册中记录了这一点:\texdoc makeindex
。