Customize `\citeauthor*` to show full author name but UpperCase only the first letter
We can very easily define a new command \citeauthornsc
and \citeauthornsc*
from the standard definitions of \citeauthor
that does not print last names in small caps by adding \renewcommand*{\mkbibnamefamily}[1]{####1}%
to the pre-code hook (the vast number of #
s is necessary due to the way commands are redefined within commands); the pre-code hook has only local scope, so that the redefinition applies only to this cite command.
The two commands are basically a copy of biblatex.def
's definitions with that one line added to the precode.
\documentclass{article}
\usepackage[french]{babel}
\usepackage{csquotes}
\usepackage[backend=biber,style=verbose-trad1]{biblatex}
\addbibresource{biblatex-examples.bib}
\DeclareCiteCommand{\citeauthornsc}
{\renewcommand*{\mkbibnamefamily}[1]{####1}%
\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printnames{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\citeauthornsc}
{\renewcommand*{\mkbibnamefamily}[1]{####1}%
\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printnames[][1-1]{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}
\begin{document}
Standard small caps:
\citeauthor{wilde}
our new command:
\citeauthornsc{wilde}
small caps again:
\citeauthor{wilde}
\autocite{wilde}
\end{document}
As of March 2016 (biblatex 3.3), you need to change
\mkbibnamefamily
instead of
\mkbibnamelast