authorindex+natbib 产生错误的页码

authorindex+natbib 产生错误的页码

我正在使用natbibauthorindexauthorindex手动的,第 7.2.3 节,表明两个包之间存在冲突,并建议通过创建文件进行修复natbib.cfg。当我这样做时,作者索引会产生错误的页码。我怀疑问题出在文件中natbib.cfg,但我对 LaTeX 的这一部分不够熟悉,无法解释该文件中的代码。这是一个 MWE:

麦格

\documentclass[12pt]{article}

\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage[biblabels,editors,firstabbrev]{authorindex}

\usepackage{natbib}

\begin{document}

\blindtext[7]

\citet{Ha13}

\bibliographystyle{abbrvnat}
\bibliography{mybib}

\section*{Author Index}

\printauthorindex

\end{document}

我的书目目录

@article{Ha13,
    Author = {Harris, Ford W.},
    Journal = {Factory: The Magazine of Management},
    Number = {2},
    Pages = {135-136, 152},
    Title = {How Many Parts to Make at Once},
    Volume = {10},
    Year = {1913}}

配置文件

% natbib.cfg
\AtBeginDocument{%
\@ifpackageloaded{authorindex}{%
\ifNAT@numbers
\let\org@@citex\NAT@citexnum
\else
\let\org@@citex\NAT@citex
\fi
\def\@citex[#1][#2]#3{%
\typeout{indexing: [#1][#2]{#3}}%
\org@@citex[#1][#2]{#3}%
\@aicitey{#3}}%
\renewcommand\NAT@wrout[5]{%
\if@filesw{%
\let\protect\noexpand\let~\relax
\immediate\write\@auxout{\string\aibibcite{#5}{#1}}%
\immediate\write\@auxout{\string\bibcite{#5}{{#1}{#2}{{#3}}{{#4}}}}}%
\fi}}{}}
\endinput

我正在将文档编译为latex> bibtex> latex> authorindex> latex。所有这些命令都是从 TeXShop 运行的,除了authorindex,我从终端提示符运行它,作为authorindex mwe

该参考文献在文档的第 2 页被引用,但它在作者索引中显示为第 1 页:

在此处输入图片描述

答案1

问题解决了。我使用了biblabels选项,这意味着authorindex报告的是“参考列表中出现的参考标签”(根据手册authorindex),而不是页码。下面abbrevnat没有参考标签,所以我假设它们被视为连续的数字。因此,我的一个参考文献无论在哪一页被引用,都会显示为“1”。(当我添加更多参考文献时,它们显示为 2、3、4……)

删除该biblabels选项即可解决问题。

相关内容