我有一个问题已经回答过几次了,但对我来说却不起作用(并且对之前提出的问题的另一位评论者来说也没有用)。
我想使用 biblatex 样式的 authoryear 删除参考书目中年份周围的括号,最好还在它前面添加逗号和空格。我研究了以下问题:
biblatex:如何删除 authoryear 样式中年份周围的括号?
如何(正确地)删除 authoryear 样式中年份周围的括号?(v2)
我使用biber
2.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}