在 Biblatex 中设置短标题和年份引文之间的分隔符

在 Biblatex 中设置短标题和年份引文之间的分隔符

Biblatex 提供了一个\nameyeardelim命令,用于设置名称-年份引文中的分隔符。我使用它来添加逗号,如下所示:

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

我需要引用一些既没有作者也没有编辑的参考文献。在这种情况下,Biblatex 默认使用标题(或shorttitle)和年份,这很好,只是似乎没有任何方法可以设置分隔符。(没有相应的\titleyeardelim\shorttitleyeardelim命令。)

有人能告诉我我需要做什么以便以下最小工作示例产生“(SENSEVAL-3 会议纪要,2004)”而不是“(SENSEVAL-3 会议纪要2004)”?

\documentclass{article}

\usepackage[backend=biber,style=authoryear-comp]{biblatex}
\addbibresource{bibliography.bib}

\begin{filecontents}{bibliography.bib}
@Proceedings{senseval2004,
  title = {Proceedings of SENSEVAL-3, the Third International Workshop on the Evaluation of Systems for the Semantic Analysis of Text},
  shorttitle = {Proceedings of SENSEVAL-3},
  year = {2004},
}
\end{filecontents}

\begin{document}
\autocite{senseval2004}
\end{document}

答案1

你只需要

\DeclareDelimFormat{nonameyeardelim}{\addcomma\space}

平均能量损失

\documentclass{article}

\usepackage[backend=biber,style=authoryear-comp]{biblatex}
\begin{filecontents}{\jobname.bib}
@Proceedings{senseval2004,
  title = {Proceedings of SENSEVAL-3, the Third International Workshop on the Evaluation of Systems for the Semantic Analysis of Text},
  shorttitle = {Proceedings of SENSEVAL-3},
  year = {2004},
}
\end{filecontents}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\DeclareDelimFormat{nonameyeardelim}{\addcomma\space}


\begin{document}
\autocite{senseval2004,sigfridsson,kant:kpv}
\end{document}

示例输出

此答案已针对较新版本进行了编辑,并提供更简单的解决方案biblatex。如果您使用的是旧版本,biblatex并且上述方法对您不起作用,请考虑更新。如果您无法更新,请查看编辑历史记录,以找到也适用于旧版本的解决方案。

相关内容