I am currently working on a document that cites a large number of Chinese authors. As there are many authors that share the same last name, I decided to use the setting uniquename=minfull, and to avoid these names being abbreviated to, for instance, W. Wang, added a bit of code that results in the full name being given.
This works as intended for citations in brackets. However, I just noticed that it does not work as well in cases of \textcite, where it results in a comma between the last and first name (see output of MWE):
According to Wang, Xiuying (2020)...
For Chinese names, it would work to simply omit the comma between the last and the first name (as the name would usually be given as Wang Xiuying, so I also want to avoid the output Xiuying Wang), but this would of course also affect other names and is therefore not an option.
What I think could work is to have the first name omitted only for the \textcite command (in effect ignoring the uniquenamesetting in this case) as I could ensure that it is clear from the context which author is referred to.
I am not quite sure how to approach this. Would it make sense to create a new command \textcitelast so I can manually control where I only use the last name? I am grateful for your suggestions!
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[style=authoryear-icomp,
ibidpage=true,
ibidtracker=constrict,
idemtracker=context,
mergedate=basic,
uniquename=minfull,
bibstyle=authoryear,
backend=biber
]
{biblatex}
% I wanted to avoid Chinese names being abbreviated to `W. Zhang', etc., so this bit forces it to use the full name
\DeclareNameFormat{labelname}{%
\ifnumequal{\value{uniquename}}{0}
{\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}
\usebibmacro{name:andothers}}
\usepackage{filecontents}
\begin{filecontents*}{testbib.bib}
@online{test1,
author = {Zhang, Xiuying},
title = {Test title},
year = {2020}
}
@online{test2,
author = {Wang, Xiuying},
title = {Another test title},
year = {2020}
}
@online{test3,
author = {Zhang, Wei},
title = {Test title three},
year = {2020}
}
@online{test4,
author = {Wang, Wei},
title = {Test title four},
year = {2020}
}
\end{filecontents*}
\addbibresource{testbib.bib}
\begin{document}
Citation number one \autocite{test1}, another citation \autocite{test2} and yet another one \autocites{test3,test4}.
As \textcite{test1} argued \ldots\ According to \textcite{test2} \ldots\
\end{document}
