我想在 ltxdoc 中使用多个索引。但是如果我使用 imakeidx 包,我定义的“通用索引”就会消失,我得到的是标准“索引”。没有 imakeidx,我就能得到我想要的。
这是错误还是功能?有解决方法吗?
\documentclass{ltxdoc}
\usepackage{imakeidx}
\CodelineIndex\EnableCrossrefs
\begin{document}
\DescribeMacro{\mymacro}
\IndexPrologue{\section*{General Index}}
\PrintIndex
\end{document}
答案1
该imakeidx
包改变了索引处理和打印的内部结构。
首先,使用\indexsetup
代替\IndexPrologue
并将 应用于\makeindex[options=-s gind.ist,title={General index}]
一般指数。
对于其他索引,最终应用代表其他选项的\makeindex[name=foo,...]
位置。...
比如说\printindex
默认索引,\printindex[foo]
等等,比如说其他索引
\documentclass{ltxdoc}
\usepackage{imakeidx}
\CodelineIndex\EnableCrossrefs
\indexsetup{level=\section*}
\makeindex[name=other]
\makeindex[options=-s gind.ist,title={General Index}]
\begin{document}
\DescribeMacro{\mymacro}\index{mymacro}\index[other]{otherindexentry}
\printindex
\printindex[other]
\end{document}