在引文的 TITLE 后(年份之前)添加逗号

在引文的 TITLE 后(年份之前)添加逗号

这个问题可以看作是这个问题的延伸(如何在作者和年份之间添加逗号) 但其中并没有包含我的问题的答案。

在相同的上下文中,我尝试修改引用样式,以便用逗号分隔作者和年份,如下所示:

(作者,2016 年)

。我通过如下方式修改 biblatex.def 文件实现了这一点。

\renewcommand*{\nameyeardelim}{\addcomma\space}

我现在的问题是,我似乎找不到 \titleyeardelim某个“默认”(如果存在的话)分隔符,该分隔符用于作者缺失而使用标题的情况。因此,我得到了

(标题 2016)

在我所有的引用中,而不是要求:

(标题,2016 年)

提前感谢您的帮助!

答案1

从 3.3 版开始biblatex,有一个\nonameyeardelim可以重新定义的命令

\renewcommand*{\nonameyeardelim}{\addcomma\space}

如果你运行的是旧版本,biblatex则需要修改引用宏本身,authoryear其样式为

\providecommand*{\nonameyeardelim}{\nameyeardelim}
\renewcommand*{\nonameyeardelim}{\nameyeardelim}

\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
       {\usebibmacro{cite:label}%
        \setunit{\nonameyeardelim}}%% <-- this line needed to be changed
       {\printnames{labelname}%
        \setunit{\nameyeardelim}}%
     \usebibmacro{cite:labelyear+extrayear}}
    {\usebibmacro{cite:shorthand}}}

相关内容