我使用带有 authoryear 样式的 biblatex,并希望在文本中(引用时)以大写字母打印作者,以及在文章末尾的参考书目中打印作者。这可以吗?
答案1
有多种方法可以格式化 中的名称(部分)biblatex
。
在下面的例子中,我选择了小型大写字母,因为我认为大写字母看起来不太好。
名称部分
如果您只想格式化姓名的某个特定部分(例如,姓氏部分或名字部分),您可以 按照所需的样式重新定义\mkbibnamefamily
、\mkbibnamegiven
和\mkbibnameprefix
/或。\mkbibnamesuffix
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite{sigfridsson,knuth:ct:a}
\printbibliography
\end{document}
完整姓名
无需重新定义所有四个宏 、\mkbibnamefamily
和来执行相同操作,重新定义宏以一次性格式化完整名称更加容易。\mkbibnamegiven
\mkbibnameprefix
\mkbibnamesuffix
\mkbibcompletename
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\renewcommand*{\mkbibcompletename}[1]{\textsc{#1}}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite{sigfridsson,knuth:ct:a}
\printbibliography
\end{document}
请注意,参考书目中的名字也采用小写形式。
整个领域
如果您想要格式化整个字段(包括逗号和“and”等分隔符),则可以使用包装格式。
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\DeclareNameWrapperFormat{default}{\textsc{#1}}
\DeclareNameWrapperAlias{sortname}{default}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite{sigfridsson,knuth:ct:a}
\printbibliography
\end{document}
请注意,Sigfridsson 和 Ryde 之间的“and”这里也是小写。