3

I am trying to disambiguate author-year citations in a book, such that if the authors are different but the year is the same, initials are added, but without this leading to unnecessary initialisation of other authors with the same family name.

Here's an MWE.

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents}[force]{mwe.bib}
@book{Smith1984,
  title = {Uneven Development: Nature, Capital, and the Production of Space},
  author = {Smith, Neil},
  year = {1984},
  publisher = {Blackwell}
}
@article{Smith1992,
  title = {Contours of a spatialized politics: Homeless vehicles and the production of geographical scale},
  author = {Smith, Neil},
  year = {1992},
  journal = {Social Text},
  pages = {54--81}
}
@article{Smith1992b,
  title = {History and philosophy of geography: Real wars, theory wars},
  author = {Smith, Neil},
  year = {1992},
  journal = {Progress in Human Geography},
  volume = {16},
  pages = {257--271}
}
@article{Smith2000a,
  title = {Ngā tini āhuatanga o whakapapa kōrero},
  author = {Smith, Takirirangi},
  year = {2000},
  journal = {Educational Philosophy and Theory},
  volume = {32},
  pages = {53--60},
}
@article{Smith2000b,
  title = {Straying beyond the boundaries of belief: Māori epistemologies inside the Curriculum},
  author = {Smith, Cherryl W.},
  year = {2000},
  journal = {Educational Philosophy and Theory},
  volume = {32},
  pages = {43--51}
}
\end{filecontents}

\usepackage[
  style=ext-authoryear-comp
 ,sorting=nyt
 ,sortcites=true
 ,articlein=false
 ,uniquename=mininit
 ,dashed=false
]{biblatex}

\addbibresource{mwe.bib}

\begin{document}

\textcite{Smith2000a,Smith2000b}

\textcite{Smith1984,Smith1992,Smith1992b}

\printbibliography

\end{document}

This gives

enter image description here

i.e., CW and T Smith are correctly disambiguated by adding initials, but N. Smith has an unnecessary initial added, since none of that author's publications are the same year as the others.

I have tried many different combinations of uniquename and uniquelist with the only other result seeming to be that CW Smith (2000) and T Smith (2000) are changed to Smith (2000a) and Smith (2000b), which is not regarded as correct in the bibliographic style preferred by my publisher. I have also found that the uniquenname=(min)init setting leads to unnecessary disambiguation of authors throughout the bibliography even where they appear in multi-authored works, but just happen to have the same name as some other author in my bibliography.

5
  • 1
    I wonder if this is case we hadn't considered. uniquename doesn't have a "by year" option like uniquelist does. You can get the result you want by turning off uniquenane for the Neil Smith entries for now by adding ` options = {uniquename=false},` to those three entries.
    – PLK
    Sep 10, 2023 at 9:30
  • It does seem like disambiguation of citations by adding initials should be able to be applied without it causing all citations of same-named authors to be initialed regardless of whether there exists an ambiguous author-year citation. I don't know biber-biblatex well enough to know how to add options to entries as suggested (note that in my use case there are several hundred references, so I am not sure if this is something I can do either practically or accurately in any case!) Is this something I have to manually add to my .bib file? Sep 10, 2023 at 10:10
  • I think we may need a couple of new settings for uniquename to allow this. Something like uniquename=minyearinit and uniquename=minyearfull. Looking at it. Roping in @moewe for his opinion. I am surprised this has never come up before as after a bit of investigation, I can't get the result you want with existing options.
    – PLK
    Sep 10, 2023 at 12:10
  • Update re the workaround above: yes it works, but yes it is also a pain to do! Sep 10, 2023 at 19:17
  • It will be a while before I can install the latest biber-biblatex combination. Meanwhile, a relatively painless workaround is to set uniquename=mininit and uniquelist=minyear, then add tex.OPTIONS= uniquename=false in the Extra field in Zotero for all remaining clashing entries. Then export to Better BibLatex using Better BibTeX for Zotero. The slow part is trawling through your references to find all the ones that are being unnecessarily initialed. Sep 10, 2023 at 22:40

1 Answer 1

3

This really needs a new couple of options for uniquename. This is implemented in the DEV versions of biblatex (3.20) and biber (2.20) which you can get on SourceForge for now. The option you want is uniquename=minyearinit:

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents}[force]{mwe.bib}
@book{Smith1984,
  title = {Uneven Development: Nature, Capital, and the Production of Space},
  author = {Smith, Neil},
  year = {1984},
  publisher = {Blackwell}
}
@article{Smith1992,
  title = {Contours of a spatialized politics: Homeless vehicles and the production of geographical scale},
  author = {Smith, Neil},
  year = {1992},
  journal = {Social Text},
  pages = {54--81}
}
@article{Smith1992b,
  title = {History and philosophy of geography: Real wars, theory wars},
  author = {Smith, Neil},
  year = {1992},
  journal = {Progress in Human Geography},
  volume = {16},
  pages = {257--271}
}
@article{Smith2000a,
  title = {Ngā tini āhuatanga o whakapapa kōrero},
  author = {Smith, Takirirangi},
  year = {2000},
  journal = {Educational Philosophy and Theory},
  volume = {32},
  pages = {53--60},
}
@article{Smith2000b,
  title = {Straying beyond the boundaries of belief: Māori epistemologies inside the Curriculum},
  author = {Smith, Cherryl W.},
  year = {2000},
  journal = {Educational Philosophy and Theory},
  volume = {32},
  pages = {43--51}
}
\end{filecontents}

\usepackage[
  style=ext-authoryear-comp
 ,sorting=nyt
 ,sortcites=true
 ,articlein=false
 ,uniquename=minyearinit,
 ,dashed=false
]{biblatex}

\addbibresource{mwe.bib}

\begin{document}

\textcite{Smith2000a,Smith2000b}

\textcite{Smith1984,Smith1992,Smith1992b}

\printbibliography

\end{document}

which gives:

enter image description here

1
  • I don't have the reputation to upvote, but this is excellent - I'll give it a try on my actual use-case when I get a chance! Sep 10, 2023 at 19:20

You must log in to answer this question.

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