![索引问题编号](https://linux22.com/image/452645/%E7%B4%A2%E5%BC%95%E9%97%AE%E9%A2%98%E7%BC%96%E5%8F%B7.png)
我正在排版一本数学书。由于这本书内容丰富,每份作业都有不同类型的问题,所以我想用一种简单的方法让学生了解问题类型。
我尝试使用简单的索引,使用imakeidx
包,但那只引用页码。由于至少有 5 个问题,这并不理想;我想要实际的问题编号。我的数字确实恢复了,并且有大约 800 个问题分散在 120 页上,因此问题编号将最有帮助。
\label{NumOne}
我可以设想一个在每项之后使用系统,但这似乎有点繁琐,你不觉得吗?是否有其他包或甚至我可以定义一个计数器来帮助简化此实现?
梅威瑟:
\documentclass{book}
\usepackage{enumitem}
\usepackage{imakeidx}
\makeindex[intoc]
\begin{document}
\begin{enumerate}[resume]
\item Problem\index{ProbType}
\end{enumerate}
\printindex
\end{document}
答案1
明白了!我用过
\makeatletter
% Global redefinition of indexentry to use section, then page%
\renewcommand{\imki@wrindexentrysplit}[3]{%
\expandafter\protected@write\csname#1@idxfile\endcsname{}%
{\string\indexentry{#2}{\arabic{enumi}}}%
}%
\makeatother
正如我上面提到的,我按照用户 31729 的解决方案中列出的所有内容,发现这里。您确实需要在命令行上运行texindy
才能使更改生效。