我正在使用这种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
包选项涵盖bibstyle
和citestyle
,因此bibstyle=authoryear
在您的示例中是多余的。此外,请考虑使用更高级别的命令\autocite
代替\parencite
;这样,您只需声明即可切换到脚注引用autocite=footnote
。
答案2
注意:自 2016 年 3 月 (biblatex 3.3) 起,您需要\mkbibnamefamily
更改\mkbibnamelast