9

I'm wondering how biblatex efforts to make citations unique works.

Consider an example:

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents}{file.bib}

@ARTICLE{ex1,
   author = {{Ď{}urech}, J. and {Vokrouhlický{}}, D. and {Kaasalainen}, M. and 
    {Weissman}, P. and {Lowry}, S.~C. and {Beshore}, E. and {Higgins}, D. and 
    {Krugly}, Y.~N. and {Shevchenko}, V.~G. and {Gaftonyuk}, N.~M. and 
    {Choi}, Y.-J. and {Kowalski}, R.~A. and {Larson}, S. and {Warner}, B.~D. and 
    {Marshalkina}, A.~L. and {Ibrahimov}, M.~A. and {Molotov}, I.~E. and 
    {Michalowski}, T. and {Kitazato}, K.},
    title = {{New photometric observations of asteroids (1862) Apollo and (25143) Itokawa - an analysis of YORP effect}},
  journal = {Astronomy and Astrophysics},
     year = 2008,
    month = sep,
   volume = 488,
    pages = {345-350},
issn = {1432-0746},
}

@ARTICLE{ex2,
   author = {{Ď{}urech}, J. and {Vokrouhlický{}}, D. and {Kaasalainen}, M. and 
    {Higgins}, D. and {Krugly}, Y.~N. and {Gaftonyuk}, N.~M. and 
    {Shevchenko}, V.~G. and {Chiorny}, V.~G. and {Hamanowa}, H. and 
    {Hamanowa}, H. and {Reddy}, V. and {Dyvig}, R.~R.},
    title = {{Detection of the YORP effect in asteroid (1620) Geographos}},
  journal = {Astronomy and Astrophysics},
     year = 2008,
    month = oct,
   volume = 489,
    pages = {L25-L28},
issn = {1432-0746},
}
\end{filecontents}

\usepackage{csquotes}

\usepackage[
maxcitenames=2, 
style=authoryear,
firstinits=true,
backend=biber,
dashed=false,
]{biblatex}

\addbibresource{file.bib}

\begin{document}
\cite{ex1}, \cite{ex2}
\printbibliography
\end{document}

There are two articles with same year and also same first three authors. Biblatex solves this with printing 4 names in citation to make the two entries unique, this is despite the fact, that the maxcitenames=2.

This looks awful to me and I wanted to distinguish these two entries in sense: Ďurech et al. (2008a) and Ďurech et al. (2008b)

I know that in this case it should be possible to distinguish them using different month, but let's pretend that we don't know it or it is also the same..

I was not successful with uniquelist and uniquename options as biblatex will add name to make it unique, not only initials or something like this...

Is there any possibility to say biblatex to look only at first n authors and then (if they are the same) use a,b after year to make entries unique, instead of adding names?

Or something other what would do what I want?

Thanks,


Edit:

cslstr have already solved my original question, however I had addition issue to making the solution work.

I'm now a little like Alice in Wonderland. I have tried this solution with both uniquelist/name=false - it didn't worked. Then I made a little trick to solve this. I added braces around initial of the first author in one of the two entries - this made bibblatex to think they are different authors and made what I wanted. After your reply I thought that the place in biblatex preamble does matter and used it as you do - it woks. But then I tried to use it at the end of biblatex preamble as I have used it before I wrote at this forum - it also works.

How is it possible? I'm sure I was only adding and removing the two options in preamble of biblatex and also the braces, and sure I'm using it now exactly the same way - didn't work yesterday, works now.

1

1 Answer 1

9

Background

The issue here has to do with the default setting with authoryear, which is to set uniquelist=true. From the documentation:

uniquelist=true, false, minyear

This feature will disambiguate the labelname list if it has become ambiguous after maxnames/minnames truncation. Essentially, it overrides maxnames/minnames on a per-field basis. This option is also settable on a per-type basis.

Effectively, with uniquelist=true, if the list of names used as a label is "identical" after maxnames, additional names will be added until you have an unambiguous list. This is what you observed. By setting uniquelist=false, you can prevent this feature from being implemented.

In changing this, you will find that the bibliography list of names is also affected. You can adjust the number of names in the bibliography independently from the in-text citations with the use of minbibnames/maxbibnames.

Solution

Your package options should then be loaded as:

\usepackage[
maxcitenames=2, 
style=authoryear,
uniquelist=false, % <--- New
minbibnames=4, % <--- If desired
maxbibnames=4, % <--- If desired
firstinits=true,
backend=biber,
dashed=false,
]{biblatex}

This provides:

example

Sidenote: Package Warning

Note that with these options, you also have a warning that appears in the log files:

Package biblatex Warning: Conflicting options. (biblatex)             
'firstinits' conflicts with 'uniquename=full'. (biblatex)             
Setting 'uniquename=init' on input line 53.

This is referring to an option (uniquename=full) that is set automatically by the authoryear style, which conflicts with firstinits. Basically, uniquename=full is saying that biblatex should make names unique by including up to the full name; but firstinits says that you don't want to ever use the full name. firstinits wins out, and the message tells you that fact.

Note: I did not modify the entire MWE as I was having trouble getting the accented letters to work right on my system.

1
  • Thanks for your reply and sorry for inconvenience with accented letters, I removed babel package to make the example minimal...
    – fales
    May 6, 2014 at 6:09

You must log in to answer this question.

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