如何(正确地)删除 authoryear 样式中年份周围的括号?(v3)

如何(正确地)删除 authoryear 样式中年份周围的括号?(v3)

我有一个问题已经回答过几次了,但对我来说却不起作用(并且对之前提出的问题的另一位评论者来说也没有用)。

我想使用 biblatex 样式的 authoryear 删除参考书目中年份周围的括号,最好还在它前面添加逗号和空格。我研究了以下问题:

biblatex:如何删除 authoryear 样式中年份周围的括号?

如何(正确地)删除作者年份样式中年份周围的括号?

如何(正确地)删除 authoryear 样式中年份周围的括号?(v2)

我使用biber2.10 和 TexLive 2017/W32Tex。

这个MWE应该按照上面的问题v2来工作,但对我来说不起作用,即输出仍然是Author, Anne (2001a). Alpha.我需要的输出是Author, Anne, 2001a. Alpha.

\documentclass{article}

\usepackage[style=authoryear,dashed=false]{biblatex}
\usepackage{xpatch,filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,author={Author, Anne},year={2001},title={Alpha}}
@misc{A02,author={Author, Anne},year={2001},title={Beta}}
\end{filecontents}
\addbibresource{\jobname.bib}

\xpatchbibmacro{date+extrayear}{%
  \printtext[parens]%
}{%
  \setunit*{\addperiod\space}%
  \printtext%
}{}{} 

\begin{document}
\nocite{*}
\printbibliography
\end{document} 

答案1

bibmacrodate+extrayear已弃用,并被替换为date+extradate

\documentclass{article}

\usepackage[style=authoryear,dashed=false]{biblatex}
\usepackage{xpatch,filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,author={Author, Anne},year={2001},title={Alpha}}
@misc{A02,author={Author, Anne},year={2001},title={Beta}}
\end{filecontents}
\addbibresource{\jobname.bib}

\xpatchbibmacro{date+extradate}{%
  \printtext[parens]%
}{%
  \setunit*{\addcomma\space}%
  \printtext%
}{}{} 

\begin{document}
\nocite{*}
\printbibliography
\end{document} 

代码输出

答案2

请允许我为biblatex-ext。该ext-authoryear系列内置支持更改年份格式。ext-...样式与标准样式兼容,可用作直接替换。

您只需要适当地重新定义字段格式biblabeldate(一个biblatex-ext功能)和分隔符nameyeardelim(一个标准biblatex功能)。

\documentclass{article}

\usepackage[style=ext-authoryear,dashed=false]{biblatex}
\addbibresource{biblatex-examples.bib}

\DeclareFieldFormat{biblabeldate}{#1}
\DeclareDelimFormat[bib]{nameyeardelim}{\addcomma\space}

\begin{document}
\nocite{sigfridsson,knuth:ct:a,knuth:ct:b}
\printbibliography
\end{document}

在此处输入图片描述

相关内容