biblatex:引文与参考书目的不同格式

biblatex:引文与参考书目的不同格式

我正在使用这种authoryear风格,并且必须在引用处将作者姓名格式化为普通文本,但在参考书目中则使用小写字母。这是我的第一个、傻瓜的 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}

现在,那一半起作用了;参考书目中的作者姓名采用小写字母,但不幸的是,文中的引用也是如此(大致呈现):

(AKCELIK、BIROS、GHATTAS 等人,2003 年)

我是不是在正确的地方修修补补?有没有简单的方法可以测试\mkbibxxx我是在文本中还是在参考书目中?我应该去别处看看吗?我能期待一个“简单”的解决方案吗?

环境:TeXLive 2011+、latexmk、biblatex 2011/07/29 v1.6、biber 0.9.5

caliente-bib.bib这里。我不记得为什么我用这个……

答案1

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

此外:style包选项涵盖bibstylecitestyle,因此bibstyle=authoryear在您的示例中是多余的。此外,请考虑使用更高级别的命令\autocite代替\parencite;这样,您只需声明即可切换到脚注引用autocite=footnote

答案2

注意:自 2016 年 3 月 (biblatex 3.3) 起,您需要\mkbibnamefamily更改\mkbibnamelast

相关内容