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

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

不久前,Alan Munn 提出了一个问题,并给出了一致的回答关于删除括号的问题来自 biblatexauthoryear样式的引用。不幸的是,lockstep 的解决方案将不需要的引用注入\addperiod\space到“破折号”引用中。例如,给定 Author, A. 引用两次:

\documentclass{article}

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

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

\addbibresource{\jobname.bib}
\nocite{*}

\begin{document}

\printbibliography

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

\printbibliography

\end{document}

我们得到:

在此处输入图片描述

我尝试使用类似构造来构建解决方案,\usebibmacro{bbx:dashcheck}但没有成功。那么,如何基于 lockstep 的基于 nice 的xpatch方法,有条件地\addperiod\space仅在“非破折号”引用的情况下才包含它?

答案1

单位的输出应该在命令内部完成\setunit

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

在此处输入图片描述

相关内容