\dag 使索引条目翻倍-如何避免?

\dag 使索引条目翻倍-如何避免?

\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}

相关内容