如何创建两个单独的索引:主题索引和作者索引

如何创建两个单独的索引:主题索引和作者索引

我正在写论文,必须在正文中包含主题索引和作者索引。我使用 BibTeX(包natbib)和makeidx用于标记主题索引术语的包(我使用 MikTeX 2.9 和 TeXnicCenter)。问题是 包\citeindextrue中的命令natbib将引文写入.idx索引文件,但我不知道如何分离这两个索引。我希望先有主题索引(带有该标题),然后再有作者索引。您有什么建议吗?

以下是一个最简单的例子:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{makeidx}
\usepackage{natbib}

\makeindex
\begin{document}
\citeindextrue 

This is a  text with few references, e.g. \cite{Doreian05} or \Citet{Doreian05}.\\
key words: network\index{network}, blockmodeling\index{blockmodeling}, and so on.
% bibliography
\bibliographystyle{mcbride} 
% the file with bibliography entries blockmodeling.bib
\bibliography{bibliography}
\printindex
\end{document}

参考书目文件(bibliography.bib)中的条目例如

@BOOK{Doreian05,
author = {Patrick Doreian and Vladimir Batagelj and Anu\v{s}ka Ferligoj},
title = {Generalized Blockmodeling},
year = {2005},
publisher = {Cambridge University Press},
address = {New York, NY, USA}
}

答案1

你应该看看\usepackage{imakeidx}

\documentclass{article}  
\usepackage[english]{babel}  
\usepackage{imakeidx}
    \makeindex
    \makeindex[name=authors,title=Authors,columns=3]
\usepackage{natbib}  

\makeindex  
\begin{document}  
\citeindextrue   

This is a  text with few references, e.g. \cite{Doreian05} or \Citet{Doreian05}.\\
And it has fancy authors. \index[authors]{Doreian, Patrick} \index[authors]{Batagelj, Vladimir} \index[authors]{Ferligoj, Anu\v{s}ka}
key words: network\index{network}, blockmodeling\index{blockmodeling}, and so on.  
% bibliography  
\bibliographystyle{mcbride}   
% the file with bibliography entries blockmodeling.bib  
\bibliography{bibliography}
\printindex[authors]
\printindex  
\end{document}

希望有帮助

免责声明:我不是测试了这个 tex-code - 只是写下了一些想法。

答案2

有一个很好的条目tex 常见问题显示几个选项。如果您安装了 tex live,您可以通过 访问它texdoc multind

不幸的是,它不包含 imakeidx(由@epsilonhalbe 建议),这个包看起来很有希望;我已经将这个遗漏通知了 faq 维护者。

更新:常见问题解答已更新,以识别用于准备多个索引的附加包;如果您需要此功能,非常值得一看。

相关内容