6

I'm using the authoryear style, and am obliged to format the authors' names as normal text at the point of citation, but in small caps in the bibliography. Here's my first, simpleton's MWE:

\documentclass[a4paper,12pt,oneside]{memoir}
% ----------------------------------------------------------
\usepackage[%
    style=authoryear,
    bibstyle=authoryear,
    firstinits=true,
    backend=biber,
]{biblatex}
% ----------------------------------------------------------
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
\renewcommand*{\mkbibnameprefix}[1]{\textsc{#1}}
% ----------------------------------------------------------
\addbibresource{biblatex-nature.bib}
\addbibresource{caliente-bib.bib}
\nocite{*}
% ----------------------------------------------------------
\begin{document}

\parencite{AkcelikBirosGhattasLongVanBloemenWaanders2003}

% ==========================================================
\raggedright
\printbibliography
\end{document}

Now, that half works; the author names in the bibliography are in small caps, but, unfortunately, so is the citation in the text (rendered approximately):

(AKCELIK, BIROS, GHATTAS, et al. 2003)

Am I tinkering in the right place? Is there some simple way I can test, in \mkbibxxx, whether I'm in the text or in the bibliography? Should I look elsewhere? Can I hope for a "simple" solution??

Environment: TeXLive 2011+, latexmk, biblatex 2011/07/29 v1.6, biber 0.9.5

caliente-bib.bib is here. I don't remember why I used this...

lockstep
  • 250,273

2 Answers2

13
\AtBeginBibliography{% 
  \renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}%
  \renewcommand*{\mkbibnameprefix}[1]{\textsc{#1}}%
}

In addition: The style package option covers both bibstyle and citestyle, so bibstyle=authoryear is superfluous in your example. Also, consider to use the higher-level command \autocite instead of \parencite; this way, you may switch to foonote citations by simply declaring autocite=footnote.

Alan Munn
  • 218,180
lockstep
  • 250,273
3

Note: As of March 2016 (biblatex 3.3), you need to change \mkbibnamefamily instead of \mkbibnamelast

Stefan Pinnow
  • 29,535
Berry
  • 177