# Different styles between citations and bibliography

I know, it's ridiculous, but it's what my publisher asked me. I should produce citations with the author names in normal text, and a bibliography with author names in small caps. I really have no idea about how to produce such an inconsistency. Any help is appreciated. Here's my MWE:

% !TEX TS-program = XeLaTeX
% !TEX encoding = UTF-8 Unicode

\begin{filecontents}{archivio.bib}

@book{Hal:Sul,
Editor = {C. Halm},
Number = {1},
Publisher = {C. Geroldi filium bibliopolam academiae},
Series = {\textsc{csel}},
Title = {Sulpici Severi libri qui supersunt},
Year = {1866}}

\end{filecontents}

\documentclass[11pt, openany]{book}
\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true]{italian}
\setotherlanguages{latin, english, french}

%%% bibliografia
\usepackage[babel,italian=guillemets]{csquotes}

language=italian,
useprefix=true,
firstinits=true,
citepages=omit,
backend=biber,
]{biblatex}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\cite[55]{Hal:Sul}

\printbibliography

\end{document}


You can do it with the hook \AtBeginBibliography:

\AtBeginBibliography{\renewcommand{\mkbibnamefamily}[1]{\textsc{#1}}}


A full MWE:

\begin{filecontents}{archivio.bib}
@book{Hal:Sul,
Editor = {C. Halm},
Number = {1},
Publisher = {C. Geroldi filium bibliopolam academiae},
Series = {\textsc{csel}},
Title = {Sulpici Severi libri qui supersunt},
Year = {1866}}
\end{filecontents}

\documentclass[11pt, openany]{book}
\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true]{italian}
\setotherlanguages{latin, english, french}

%%% bibliografia
\usepackage[babel,italian=guillemets]{csquotes}

language=italian,
useprefix=true,
firstinits=true,
citepages=omit,
backend=biber,
]{biblatex}

\AtBeginBibliography{\renewcommand{\mkbibnamefamily}[1]{\textsc{#1}}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\cite[55]{Hal:Sul}

\printbibliography

\end{document}


I think you could insert

\renewcommand{\mkbibnamefamily}[1]{\textsc{#1}}


before \printbibliography.

As moewe said in comment, the disadvantage of this approach is that it is not grouped. If you were to cite something after \printbibliography (even if it is not likely) it would get small caps as well. gusbrs's solution is better.

\begin{filecontents}{archivio.bib}
@book{Hal:Sul,
Editor = {C. Halm},
Number = {1},
Publisher = {C. Geroldi filium bibliopolam academiae},
Series = {\textsc{csel}},
Title = {Sulpici Severi libri qui supersunt},
Year = {1866}}
\end{filecontents}

\documentclass[11pt, openany]{book}
\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true]{italian}
\setotherlanguages{latin, english, french}

%%% bibliografia
\usepackage[babel,italian=guillemets]{csquotes}

language=italian,
useprefix=true,
firstinits=true,
citepages=omit,
backend=biber,
]{biblatex}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\cite[55]{Hal:Sul}

\renewcommand{\mkbibnamefamily}[1]{\textsc{#1}}
\printbibliography

\end{document}


Citation:

Bibliography:

• oops, simultaneous... Feb 28 '18 at 16:44
• The disadvantage of this approach is that it is not grouped. If you were to cite something after \printbibliography it would get small caps as well. Mar 1 '18 at 7:36
• I don't want to pressure anyone into doing that. I just wanted to point out the difference between the two solutions. Since it is quite unlikely that someone would \cite after \printbibliography, your solution will still do the right thing for most intents and purposes. Mar 1 '18 at 7:43