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...

13
\AtBeginBibliography{% 
  \renewcommand*{\mkbibnamelast}[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.

  • Thanks! +1+\checkmark. Worth another +1 for the additional advice, too. – Brent.Longborough Oct 8 '11 at 11:34
3

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

  • 1
    I think this would be better suited as a comment and not a new answer in its own right. See also Biblatex 3.3 name formatting. – moewe Mar 24 '16 at 15:45
  • Sorry, yes. However, I don't have reputation on tex, only on stackoverflow (seems not to be linked). Thanks very much for the link!! – Berry Mar 24 '16 at 15:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.