TransWikia.com

Biblatex uniquename: spell out full first name

TeX - LaTeX Asked on September 1, 2021

For a paper I am writing, I will have to refer to many Taiwanese authors. As the list of Chinese last names is pretty limited, I quite often have different authors that share the same last name (but different first names) publishing articles/books in the same year.

I have tried several “uniquename” options with biblatex, but none achieved the desired result.

At first I tried:

uniquename=false

This resulted in the folling inline citation:

(Chu 1994a, p. 1) and (Chu 1994b, p. 4)

Different authors are assigned “Chu 1994a” and “Chu 1994b”, etc. But I would prefer the a, b, c differentiation to be used only “within” the same author, as otherwise it might be misunderstood as me citing two works of the same author.

I then used:

uniquename=minfull

which results in:

(T.-t. Chu 1994, p. 1) and (T.-e. Chu 1994, p. 4).

This solves the “a, b, c” problem, but as most Taiwanese authors have a hyphen in their first name, biblatex’s procedure to use the initials of the first name results in many “Y.-h.”, “Y.-c.” and “W.-w.” in the text, which I find not pleasing to the eye.

What I would like to achieve is biblatex using normal author-year citations by last name as long as there is no ambiguity (Wu in my example). But if there is an ambiguity, I would like it to spell out the complete first name, not only initials. In the best of all worls, I would even prefer it to cite as “Lastname, Firstname Year”, that is:

(Chu, Test-test 1994) and (Chu, Trial-error 1994)

Is there a way to do this?

Here is my MWE:

begin{filecontents}{uniquename.bib}
@article{chu1994one,
author = {Chu, Test-test},
title = {Title1},
journaltitle = {Journal 1},
year = {1994},
volume = {22},
issue = {5},
pages = {1--2}
}

@article{chu1994two,
author = {Chu, Trial-error},
title = {Title2},
journaltitle = {Journal 2},
year = {1994},
volume = {22},
issue = {5},
pages = {3--4}
}

@article{wu1994one,
author = {Wu, Test-name},
title = {Title3},
journaltitle = {Journal 3},
year = {1994},
volume = {22},
issue = {5},
pages = {5--6}

}
end{filecontents}



documentclass{article}
usepackage[utf8]{inputenc}
usepackage[english]{babel}
usepackage[T1]{fontenc}
usepackage[style=authoryear-icomp, uniquename=minfull, bibstyle=authoryear, autocite=inline, backend=biber]
 {biblatex}


addbibresource{uniquename.bib}

begin{document}
Some text with a citation autocite[1]{chu1994one}, and some further text with another citation autocite[4]{chu1994two}. Some more text with a third citation autocite[5]{wu1994one}.

printbibliography
end{document}

One Answer

Use

DeclareNameFormat{labelname}{%
  ifnumequal{value{uniquename}}{0}
    {usebibmacro{name:family}
       {namepartfamily}
       {namepartgiven}
       {namepartprefix}
       {namepartsuffix}}
    {usebibmacro{name:family-given}
       {namepartfamily}
       {namepartgiven}
       {namepartprefix}
       {namepartsuffix}}%
  usebibmacro{name:andothers}}

together with uniquename=full, allfull or minfull.

Normally, even with a full-like uniquename setting biblatex only gives the full name when initials would be ambiguous. With the above we get first names as soon as the last name alone is not enough.

We get the Last, First format because we used name:family-given; for First Last (the default) we'd use name:given-family.

Correct answer by moewe on September 1, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP