当 terseinits = true 时,biblatex 中最后一个作者姓名后的句号

当 terseinits = true 时,biblatex 中最后一个作者姓名后的句号

我的参考文献样式要求作者姓名首字母缩写,中间不加句号,但作者名单和年份之间应该有一个句号,例如

Cho JC, Kim MW, Lee DH, Kim SJ. (1997). 大清水库(韩国)细菌群落对浮游植物胞外有机碳组成变化的响应。Arch Hydrobiol 138:559–576。

问题是作者和年份是使用\usebibmacro{author/translator+others}基本的 biblatex 宏一起生成的。

关于如何修改它,有什么建议吗?

ps 出于某种原因建议的解决方案这里对我来说使用\renewcommand{\labelnamepunct}{}似乎不起作用

答案1

您需要修补date+extrayearbibmacro。(解决方案是稍微修改一下biblatex:如何删除 authoryear 样式中年份周围的括号?

\documentclass{article}

\usepackage[style=authoryear,firstinits=true,terseinits=true]{biblatex}

\usepackage{xpatch}

\DeclareNameAlias{sortname}{last-first}
\renewcommand*{\revsdnamepunct}{}
\renewcommand*{\finalnamedelim}{\addcomma\space}

\xpretobibmacro{date+extrayear}{%
  \setunit{\addperiod\space}%
}{}{}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A. A. and Buthor, B. B. and Cuthor, C. C.},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\printbibliography

\end{document}

在此处输入图片描述

相关内容