0

I'm using biblatex (with bibtex as backend) to generate a bibliography. The citations in bibtex format originate from a variety of websites (ACM, IEEE, DBLP), meaning the authors are not always presented in the same format (e.g., one entry may specify Firstname Lastname while another refers to the same author as Lastname, Firstname).

While the bibliography style deals with most of these inconsistencies, I've found that in some cases, the same author is referred to in multiple ways. That is, the same author is referred to as "F. M. Lastname" in one citation, but as "F. Lastname" in another.

My goal is to detect any of these occurrences and fix them manually. One way to achieve this would be to print a list of all authors from all citations and sort them alphabetically. Does biblatex provide a way to do this?

3
  • Instead of building up a solution, it may be enough to just print the index of author names. You can ask biblatex to print authors in a different index file by creating an appropriate command for that.
    – ienissei
    Commented Feb 25, 2016 at 11:12
  • 1
    @ienissei: Thank you! I used this suggestion to answer my own question. Commented Feb 25, 2016 at 13:28
  • See also List all co-authors although you can probably get away with less code since you don't need all the bells and whistles of the solution there.
    – moewe
    Commented Feb 25, 2016 at 14:26

1 Answer 1

2

A good way to solve this is to use an author index. This will print all authors from all publications sorted by their last name. If multiple names are used for the same person, they will show up next to each other in this list.

A minimal working example to demonstrate this concept:

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

This results in the following index:

Example of an author index

To compile, add the command makeindex.

An alternative is the following:

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

This results in a very similar index that doesn't include the titles of the publications in the index. To compile, use the authorindex command.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .