\dag
使用命令中的符号splitindex
,在索引输出中会产生两个条目:一个命名\sindex
在文本中使用命令的页面,另一个命名在脚注中使用命令的页面。有什么想法可以避免这种情况吗?
例子:
Paul\sindex[p]{Paul (\dag 1999)} and Peter died
recently.\footnote{Paul\sindex[p]{Paul (\dag 1999)} died earlier}
答案1
索引程序读取.tex
文件的方式非常棘手。这就是导致问题的原因。在您使用的代码中,如果您检查生成的.idx
文件,您将看到以下内容:
\indexentry[p]{Paul (\dag 1999)}{1}
\indexentry[p]{Paul (\dag 1999)}{1}
And makeindex
(或splitindex
) 将区别对待它们。你可以通过在输入中使用以下内容来解决这个问题:
Paul\sindex[p]{Paul (\dag 1999)} and Peter died
recently.\footnote{Paul\sindex[p]{Paul (\string\dag\space 1999)} died earlier}
这将产生:---
\indexentry[p]{Paul (\dag 1999)}{1}
\indexentry[p]{Paul (\dag 1999)}{1}
---并且运行后(在您的情况下)splitindex
,只会给您一个索引条目(到第 1 页)。
顺便说一句,您可能会发现在两个元素之间插入一个小间隙,即\dag\,1999
,看起来更好。
最小的例子几乎总是对每个人都有帮助,所以这里有一个完整的测试文件:
\documentclass[12pt]{article}
\usepackage{splitidx}
\makeindex
\newindex[Index]{p}
\begin{document}
Paul\sindex[p]{Paul (\dag 1999)} and Peter died
% recently.\footnote{Paul\sindex[p]{Paul (\dag 1999)} died earlier}
recently.\footnote{Paul\sindex[p]{Paul (\string\dag\space 1999)} died earlier}
\printindex*
\end{document}