0

I'm using xetex to build my TeX file and just migrated from BibTeX to BibLaTeX / biber to get support for @online-references asf.

I like biber, however it seems to break my bibliography, because suddenly such an entry appears:

Broken bibliography

After a lot of try & error I discovered that this behavior results from two or more entries in my bib-file that reference the same @proceedings entry in another file, in this case this is:

@proceedings{pet02,
    booktitle = {PET~'02: Proceedings of Privacy Enhancing Technologies Workshop},
    year = 2002,
    month = apr,
    location = {San Francisco, CA, USA},
}

However it is not dependent on the entry, but is reproducible for every entry that gets crossref'ed by more than one reference, e.g. the basic files

% test.tex
\documentclass[a4paper]{scrbook}
\usepackage[style=alphabetic,backend=biber]{biblatex}
\addbibresource{references.bib}

\begin{document}
\cite{asdf1,asdf2}
\printbibliography
\end{document}

and

% references.bib
@inproceedings{asdf1,
    author = {asdf},
    title = {halllo1},
    crossref = {conf1}
}
@inproceedings{asdf2,
    author = {asdf},
    title = {halllo2},
    crossref = {conf1}
}

@proceedings{conf1,
booktitle = "proceedings",
year = 1984,
month = apr,
location = {SF, CA, USA}
}

shows the same effect.

This all happens on OS X, with XeTeX 3.14159265-2.6-0.99992 (TeX Live 2015) and biber 2.1 as well as on XeTeX 3.14159265-2.6-0.99996 (TeX Live 2016) and biber version 2.5.

Has anyone seen such behavior? Am I correct that this is a bug? How can I circumvent this? And what would be the likeliest candidate to file the bug to?

1
  • I don't think this is a bug, it is a feature (and you can turn it off as explained in my answer below). But if you find a bug in Biber or biblatex, you can report them at the Biber bugtracket on github and biblatex bugtracker, respectively
    – moewe
    Jun 22, 2016 at 14:39

1 Answer 1

2

If you don't want to see the parent entry conf1, you might want to have a look at the mincrossrefs option (pp. 51, 24 of the biblatex docs). By default it is set to 2. That means that if you have two entries in your bibliography that crossref the same entry, that entry is automatically added to the bibliography even if it wasn't cited. You can effectively turn that off by setting the option to some ridiculously high value like 999 via mincrossrefs=999.

\usepackage[style=alphabetic,backend=biber,mincrossrefs=999]{biblatex}

You are seeing two undesirable things here. Firstly, because the @proceedings entry conf1 lacks an editor and author field, you don't get a full label, but only "[02]" (i.e. the date part). If you want a nice label you can give the required info in the label field.

Secondly, the booktitle field is not one of the required or optional fields for the @proceedings type (cf. p. 10 of the biblatex docs). You want title instead of booktitle here. The inheritance will still work properly, both asdf1 and asdf2 will get "proceedings" as booktitle, even if you give it as title in conf1.

@proceedings{conf1,
  title    = {proceedings},
  year     = 1984,
  location = {San Francisco},
  label    = {Pr},
}
2
  • Thank you a lot! At least for me, this was really unexpected behavior, and looked broken. Especially since BibTeX behaved differently.
    – tnull
    Jun 22, 2016 at 14:53
  • @tnull It looked broken because the @proceedings entry is missing vital fields. Interestingly, the biblatex docs mention in fn. 15 (p. 51) that the behaviour "is a standard feature of the BibTeX format and not specific to biblatex".
    – moewe
    Jun 22, 2016 at 15:06

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.