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}
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
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP