脚注索引条目的排序问题,如第 n 页脚注

脚注索引条目的排序问题,如第 n 页脚注

我正在为一份大型科学手稿编制索引。我希望索引条目以脚注的形式出现在索引中,作为 page-n-footnote。感谢论坛中 brannerchinese 的代码,我几乎解决了这个问题。问题是脚注索引没有正确排序。索引中的“Tiger”条目输出为

老虎,我,1 老虎,in1

当应该

老虎,我,在1,1

.idx 条目的形式为

\indexentry{Tiger}{i}  
\indexentry{Tiger@Tiger|pageandfn{1}}{i}  

以及以下形式的 .ind 条目

\item Tiger, i, 1  
\item Tiger, \pageandfn{1}{i}

代码如下:

\documentclass[10 pt,twoside]{memoir}  
\chapterstyle{ell}  
\usepackage{imakeidx}  
\usepackage[T2A]{fontenc}  
\usepackage[utf8]{inputenc}  
\makeindex   
\makeatletter    
\let\latex@roman\@roman   
\makeatother    
\usepackage[russian,greek,english]{babel}  
\makeatletter  
\let\@roman\latex@roman  
\makeatother   

%these next two commands from  
%https://tex.stackexchange.com/questions/328833/page-n-footnote-number-in-index-with-texindy  

\newcommand{\pageandfn}[2]{#2n#1}  
\newcommand{\indexfn}[1]{\index{#1@#1|pageandfn{\thefootnote}}}    
\pagestyle{ruled}  
\begin{document}    

\frontmatter   
\chapter{Preface}    
Here's a page and a footnote for the front matter.     Elephant.\index{Elephant} Tiger.\footnote{Tigers are ferocious!\indexfn{Tiger}}\index{Tiger} 

\mainmatter  
\chapter{First things first}  
Here's a page and a footnote for the main matter.\footnote{Cobras are   dangerous!\indexfn{Cobra}} Red panda \index{Red panda} \index{Tiger}  

\indexprologue{\noindent\textbf{Bold} page numbers indicate where a term   is defined; page numbers for entries occuring in a footnote are followed   by an \emph{n} and the footnote number.}  
\printindex  
\end{document}  

这是 .idx 文件:

\indexentry{Elephant}{i}  
\indexentry{Tiger}{i}  
\indexentry{Tiger@Tiger|pageandfn{1}}{i}  
\indexentry{Red panda}{1}  
\indexentry{Tiger}{1}  
\indexentry{Cobra@Cobra|pageandfn{1}}{1}  

And here's the .ind file:

\begin{theindex}

  \item Cobra, \pageandfn{1}{1}

  \indexspace

  \item Elephant, i

  \indexspace

  \item Red panda, 1

  \indexspace

  \item Tiger, i, 1  
  \item Tiger, \pageandfn{1}{i}

\end{theindex}

我对自己很无知表示歉意,也非常感谢小组成员多年来的大力帮助!

答案1

我不太清楚makeindex为什么

\indexentry{Tiger}{i}  
\indexentry{Tiger@Tiger|pageandfn{1}}{i}  

#1@#1分成两个单独的条目。我想知道为什么在这个宏中使用

\newcommand{\indexfn}[1]{\index{#1@#1|pageandfn{\thefootnote}}}    

事实上,如果我们将其改为

\newcommand{\indexfn}[1]{\index{#1|pageandfn{\thefootnote}}}    

然后makeindex将条目折叠成一只老虎。

我通常使用xindy它进行索引,它会自动将两者折叠到同一个条目中(使用原始宏定义),但它会忽略该|pageandfn{1}部分。我们可能能够让它在正确的xindy配置下工作,但|xxx支持xindy非常有限

相关内容