如何在索引中使用计数器来代替页码(如英国法律教科书)?

如何在索引中使用计数器来代替页码(如英国法律教科书)?

我有一份文档,其页边空白处有编号段落,设置为一个简单的计数器。现在,我希望使用 imakeidx 的索引显示计数器中的相关数字,而不是 \thepage,就像英国法律教科书中所做的那样(如下图所示)。我该怎么做?

显示编号段落的教科书页面

在此处输入图片描述

答案1

您可以进行修补\@wrindex以使用特殊计数器。

在这里我嘲笑您的设置,并根据您的设置进行调整。

\documentclass{book}
\usepackage{imakeidx}
\usepackage{xpatch}

\makeindex

\newcounter{legalsection}[chapter]
\renewcommand{\thelegalsection}{\thechapter-\threedigits{legalsection}}
\newcommand{\threedigits}[1]{%
  \ifnum\value{#1}<10 0\fi
  \ifnum\value{#1}<100 0\fi
  \arabic{#1}%
}

\newcommand{\legalsection}{%
  \par
  \noindent
  \refstepcounter{legalsection}%
  \makebox[0pt][l]{\hspace*{\textwidth}\quad\textbf{\thelegalsection}}%
}

%%%% This is the main part!
\makeatletter
\patchcmd{\@wrindex}{\thepage}{\thelegalsection}{}{}
\makeatother
%%%%

\begin{document}

\chapter{First}

\legalsection
(a) This is the first section where we deal with apples\index{apple}.

\legalsection
(b) This is the second section where we deal with bananas\index{banana}.

\chapter{Second}

\legalsection
Here we deal with cherries\index{cherry}

\printindex

\end{document}

在此处输入图片描述

相关内容