我正在使用 biblatex(以 bibtex 作为后端)来生成参考书目。bibtex 格式的引文来自各种网站(ACM、IEEE、DBLP),这意味着作者并不总是以相同的格式呈现(例如,一个条目可能指定 Firstname Lastname,而另一个条目则以 Lastname、Firstname 的形式引用同一作者)。
虽然参考书目格式可以解决大多数不一致问题,但我发现在某些情况下,同一作者有多种引用方式。也就是说,同一作者在一次引用中被称为“FM Lastname”,但在另一次引用中被称为“F. Lastname”。
我的目标是检测任何这些情况并手动修复它们。实现此目的的一种方法是打印所有引文的所有作者列表并按字母顺序排列。biblatex 是否提供了执行此操作的方法?
答案1
解决这个问题的一个好方法是使用作者索引。这将打印所有出版物中按姓氏排序的所有作者。如果同一个人有多个名字,它们将在此列表中并排显示。
一个最小的工作示例来演示这个概念:
\documentclass{article}
\usepackage[style=ieee,citestyle=numeric-comp,natbib=true,backend=bibtex,url=false,doi=false,isbn=false,useprefix=true,autocite=inline,sortcites=true,labelnumber=true,urldate=long,indexing=bib]{biblatex}
\usepackage{makeidx}\makeindex
\begin{filecontents}{\jobname.bib}
@misc{fl,
author = {Lastname, Firstname},
year = {2001},
title = {My first paper}
}
@misc{fml,
author = {Firstname Middle Lastname},
year = {2002},
title = {My second paper}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\printindex
\end{document}
得出的结果是以下索引:
要编译,请添加命令makeindex
。
另一种方法如下:
\documentclass{article}
\usepackage[style=ieee,citestyle=numeric-comp,natbib=true,backend=bibtex,url=false,doi=false,isbn=false,useprefix=true,autocite=inline,sortcites=true,labelnumber=true,urldate=long,indexing=bib]{biblatex}
\usepackage{authorindex}
\begin{filecontents}{\jobname.bib}
@misc{fl,
author = {Lastname, Firstname},
year = {2001},
title = {My first paper}
}
@misc{fml,
author = {Firstname Middle Lastname},
year = {2002},
title = {My second paper}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\aicite{*}
\printbibliography
\printauthorindex
\end{document}
这会产生非常相似的索引,但索引中不包含出版物的标题。要编译,请使用命令authorindex
。