Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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

share|improve this question

1 Answer 1

up vote 9 down vote accepted
\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.

share|improve this answer
    
Thanks! +1+\checkmark. Worth another +1 for the additional advice, too. –  Brent.Longborough Oct 8 '11 at 11:34

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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