![在引文的 TITLE 后(年份之前)添加逗号](https://linux22.com/image/330713/%E5%9C%A8%E5%BC%95%E6%96%87%E7%9A%84%20TITLE%20%E5%90%8E%EF%BC%88%E5%B9%B4%E4%BB%BD%E4%B9%8B%E5%89%8D%EF%BC%89%E6%B7%BB%E5%8A%A0%E9%80%97%E5%8F%B7.png)
这个问题可以看作是这个问题的延伸(如何在作者和年份之间添加逗号) 但其中并没有包含我的问题的答案。
在相同的上下文中,我尝试修改引用样式,以便用逗号分隔作者和年份,如下所示:
(作者,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}}}