使用 authorindex 和 makeindex 索引作者和主题

使用 authorindex 和 makeindex 索引作者和主题

我正在尝试为我的博士论文创建两个单独的索引,即作者索引和主题索引。创建作者索引非常简单,我只需使用\usepackage{makeidx}and \printindex命令LaTeX即可为我创建一个漂亮的作者索引。如果我想在作者索引之前添加主题索引怎么办?我已经阅读了 StackExchange 上类似问题的回复: 我怎样才能拥有两个或更多不同的索引? 但这对我来说不是一个可行的解决方案,因为它要求我手动索引作者和主题。目前,我不需要索引作者,Latex 会自动为我创建索引。有没有办法只手动索引主题(我的意思是\index{key}对每个感兴趣的主题都使用)并让作者自动索引?\authorindex 包不适用于 \natbib

答案1

authorindexnatbib乍一看有冲突,但在手册的第 7.2.3 节中(http://mirrors.ctan.org/indexing/authorindex/authorindex.pdf)解决方案是使用本地 natbib.cfg,我只是从手册中复制,我有不是开发该材料:

内容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

将此文件(完全相同的名称!)放在存储文档源的文件夹中。

下一步是将所有\aicite命令替换为“传统” \cite(否则它不起作用。为什么?我不知道,但我也没有查看包文件)

我添加了相当简单的命令\listofauthors,其中包括 authorindex,但是尚未完成进一步的格式化。

\documentclass[12pt]{book}

\usepackage{natbib}
\usepackage{blindtext}

\usepackage{makeidx}
\usepackage[pdftex,plainpages=false]{hyperref}
\RequirePackage{authorindex}

% Use this, if you want hyperlinks back from list of author entry to page
% where the citation was placed
\def\theaipage{\string\hyperpage{\thepage}} 

\newcommand{\listofauthorsname}{List of Authors}%

\newcommand{\listofauthors}{%
\chapter*{\listofauthorsname}%
\phantomsection%
\addcontentsline{toc}{chapter}{\listofauthorsname}%
\noindent%
\printauthorindex%
}%

\makeindex
\begin{document}

\tableofcontents

\chapter{Introduction}

Einstein showed that  \[ E = m \cdot c^2,\]
i.e. the equivalence\index{Equivalence} of mass\index{Mass} and energy\index{Energy}.\par

In their books \cite{GSM97} or \cite{Lam94} show how to typeset those equation ;-)

\blindtext

\printindex

\bibliographystyle{alpha}
\bibliography{biblio}

\listofauthors


\end{document}

工作流程foo.tex

  1. pdflatex foo.tex
  2. makeindex foo
  3. bibtex foo
  4. 作者索引 f​​oo
  5. pdflatex foo

在此处输入图片描述

相关内容