[Tex/LaTex] Customize `\citeauthor*` to show full author name but UpperCase only the first letter

biblatex

I'm using biblatex with the verbose-trad1 style. When I use the command \citeauthor* I get the author's full name and the last name in SmallCaps. That is nice but I'd like to create a NEW command from \citeauthor* that would allow me to cite the author's full name with only the first letters in uppercase.

Exemple :
currently : \citeauthor* gives me John SKA (small caps)
I wish : \somenewcommand that gives me John Ska BUT keeps all my other citations (\autocite) as they are, i.e.: names in small caps.

EDIT:
I've modified a little bit @moewe's answer to get precisely what I wanted. The final result is :

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{csquotes}                   
\usepackage[style=verbose-trad1,
backend=bibtex,
bibencoding=inputenc,           
language=french,                
natbib=true,                    
sortcites=true,
autopunct=true,                     
babel=hyphen,                       
hyperref=true,                          
block=space,
citetracker=true,
ibidpage=true,
ibidtracker=context,
idemtracker=true,
pagetracker=true,
url=false,
]{biblatex}

\bibliography{/Users/lucianocouto/Documents/Chartres/bibliographie.bib}

\DeclareCiteCommand*{\citeauthor}
{\defcounter{maxnames}{99}%
\defcounter{minnames}{99}%
\defcounter{uniquename}{2}%
\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex{\indexnames{labelname}}{}%
\printnames{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}

\DeclareCiteCommand*{\citeauthornsc}
{\renewcommand*{\mkbibnamelast}[1]{####1}  % avoid SmallCaps for the name
\defcounter{maxnames}{99}%
\defcounter{minnames}{99}%
\defcounter{uniquename}{2}%
\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex{\indexnames{labelname}}{}%
\printnames{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}

\DeclareCiteCommand{\citeauthornsc}
  {\renewcommand*{\mkbibnamelast}[1]{####1}  % avoid SmallCaps for the name
   \boolfalse{citetracker}%
   \boolfalse{pagetracker}%
   \usebibmacro{prenote}}
  {\ifciteindex
     {\indexnames{labelname}}
     {}%
   \printnames{labelname}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\begin{document}

Standard small caps : \citeauthor{Milgrom:1991aa}

The new standard command : \citeauthornsc{Milgrom:1991aa}\autocite{Milgrom:1991aa}

Full name smallcaps : \citeauthor*{Milgrom:1991aa}

The new full name small caps : \citeauthornsc*{Milgrom:1991aa}\autocite{Milgrom:1991aa}

\enddocument

enter image description here

Thanks a lot !!!

Best Answer

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}

enter image description here