9

I am creating an index with biblatex, but want to filter out the publication titles. The goal is to have only the names of the authors in the index of authors, right now I end up with all author entries as desired but the titles of their books or articles create additional entries in the index file. How to surpress these listing?

MWE would be as follows:

   \documentclass[a4paper,
12pt,
twoside,
]{scrbook}
\usepackage{filecontents}
\begin{filecontents}{\bibliography.bib}
@ARTICLE{article,
  author = {Nachname, Vorname},
  title = {Titel des Zeitschriftenartikels},
  journal = {Zeitschrift},
  year = {2006},
  volume = {6},
  pages = {19--75}
}
@BOOK{book,
  author = {Buchautor, Hans-Wilhelm},
  title = {Irgendein Buch},
  address = {Buch am Wald},
  year = {2000}
}
\end{filecontents}
\usepackage{scrpage2}
\usepackage[T1]{fontenc} 
\usepackage[ansinew]{inputenc}
\usepackage{mathptmx}
\usepackage[ngerman]{babel}
\usepackage[split,makeindex]{splitidx}
\newindex[List of authors]{aut}
\usepackage[%bibencoding=utf8,
backend=bibtex8, 
natbib=true,
style=authoryear-icomp,
maxnames=3, minnames=1,
sorting=nyt,
indexing=true,
abbreviate=false,
dashed=true,
eprint=false,
block=none,
%bibencoding=auto
]{biblatex}
%
\begin{document}
The example is really short MWE \parencite{article}. Maybe something is missing, please correct me if I forgot something as mentioned by \textcite{book}.
%
\printbibliography
\printindex
\end{document}

Additional question would be (I left it out of the MWE):

In the current form, everybody is indexed that ist cited in the text. The publisher I am preparing the book for would like to have only names of authors indexed that are cited in the main text:

How to filter out authors from the index that are cited in footnotes?

  • Take a look at this post: tex.stackexchange.com/questions/12806/… – Mario S. E. Apr 29 '13 at 8:32
  • Your example doesn't compile. There is a \addbibresource missing and the \bibliography in the filecontents command looks quite fishy. Beside this: I would redefine the \citeindex and bibindex macros (the original are in biblatex.def). – Ulrike Fischer Apr 29 '13 at 8:33
  • @Mario,the text does not deal with indexing at all, although helpfull in general it does not tackle my problem. – Robert Apr 29 '13 at 13:03
  • @Ulrike Thank you but I remain confused: 1. the bib file entries I simply copy and pasted from another MWE that featured biblatex. What exactly is fishy other than that the entries are obviously made up and rather incomplete? – Robert Apr 29 '13 at 13:04
  • You are using the command \bibliography in the argument of filecontents. What filename do you think will it expand to? Did you actually try your example? – Ulrike Fischer Apr 29 '13 at 13:14
6

Three examples (20-22) from the biblatex documentation demonstrate:

  1. a single index with makeidx,
  2. multiple indices with index, and
  3. multilevel indices with imakeidx.

To create a single index of authors cited inline, just load biblatex with indexing=cite and redefine the citeindex bibliography macro:

\renewbibmacro*{citeindex}{%
  \ifboolexpr{ test {\ifciteindex} and not test {\iffootnote} }
    {\indexnames{author}}{}}

When the author list is missing you may wish to index editors or translators instead. To do this, replace author with labelname.

Here's an example demonstrating two indices - one for authors and another for titles.

\documentclass{article}
\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[indexing=cite,maxnames=3,backend=bibtex,style=authoryear-icomp]{biblatex}
\usepackage{splitidx}
\makeindex
\newindex[List of authors]{author}
\newindex[List of Titles]{title}

\DeclareIndexNameFormat{default}{%
  \usebibmacro{index:name}{\sindex[author]}{#1}{#3}{#5}{#7}}

\DeclareIndexFieldFormat{indextitle}{%
  \usebibmacro{index:title}{\sindex[title]}{#1}}

\renewbibmacro*{citeindex}{%
  \ifboolexpr{ test {\ifciteindex} and not test {\iffootnote} }
    {\indexnames{author}%
     \indexfield{indextitle}}
    {}}

\addbibresource{biblatex-examples.bib}
\begin{document}
Filler \parencite{aksin,companion}. Filler.\footcite{bertram}
\Textcite{markey,jaffe}...
\printbibliography
\printindex*
\end{document}

Saving this document as test.tex, it can be compiled with:

latex test
bibtex test
latex test
latex test
splitindex.pl test
latex test
  • That looks really promising, thank you so much. But I have problems compiling it, it may have to do with a language setting as it gives me the warning: ! Textline contains invalid character With splitindex this problem never occured. – Robert Apr 30 '13 at 8:44
  • The final log on my end is warning-free with the latest release of biblatex. We improved the indexing macros in biblatex.def significantly in biblatex 2.3, so if you have an earlier version you should upgrade. Other than that I can't help troubleshoot without further details. – Audrey Apr 30 '13 at 13:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.