imakeidx 中的雙重計數

imakeidx 中的雙重計數

我正在寫一篇包含家譜內容的科學論文。因此,我的檔案中出現了很多很多的名字。因此,我用 imakeidx 製作了所有名稱的索引。現在我的問題是:

有時,兩個人具有相同的姓名並且出現在 pdf 文件的同一頁面上。因此,具有該名稱的條目在索引中僅出現一次。但我希望我的論文中提到的每個人都出現在索引中。有這種可能嗎?

這是我的最小乳膠代碼:

\documentclass[10pt,a4paper]{book}
\usepackage[paper=a4paper,left=25mm,right=25mm,top=25mm,bottom=50mm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[english]{babel}

\usepackage{imakeidx}
\makeindex[name=A,title={index of mentioned persons},columns=2] 

\begin{document}
John Doe\index[A]{John Doe}\newline
John Doe\index[A]{John Doe}


\printindex[A] 
\end{document}

這個例子的輸出類似於

約翰·多伊, 1

但我想要類似的東西

無名氏, 1, 1

編輯:請不要質疑我以這種方式需要它的原因。我知道這看起來很奇怪。我只需要它來進行一定的統計評估。

答案1

你應該有一個.ind和一個 `.idx 檔案。在 .ind 檔案中尋找按字母順序排列的「重複」名稱,並觀察重複的頁碼以及任何其他頁碼。

Makeindex 有一個「啞」的 ASCII 排序。如果條目不是確切地同樣,空格和所有空格都會被單獨排序,因此解決方案通常是去掉“多餘”空格。

尋找文件中的名稱.idx,該文件按頁碼順序排序。由於條目位於大括號中,因此很容易看到異常空格。

現在進入文字文件,找到不匹配的條目並修復它。修復索引中「額外」行上出現的任何其他條目,這樣您就不需要再次執行此程序。這樣做是為了全部重複名稱,然後重新運行。

順便說一句,您永遠不會獲得列出的條目

無名氏, 1, 1

同一頁面上的所有實例都將在單一頁碼下列出。

相關內容