![引文标注中的 *(nd)” - biblatex](https://linux22.com/image/367422/%E5%BC%95%E6%96%87%E6%A0%87%E6%B3%A8%E4%B8%AD%E7%9A%84%20*(nd)%E2%80%9D%20-%20biblatex.png)
我的项目参考书目有问题。
我有以下序言:
\usepackage[backend=biber, style=authoryear,
bibencoding=utf8]{biblatex}
\setlength\bibitemsep{0.5\baselineskip}
\addbibresource{Bibtex/mybib.bib}
\DeclareNameAlias{sortname}{last-first}
\DeclareNameAlias{default}{last-first}
但是,如果在 bib 条目中没有输入“年份”,则在引文标注中会产生 (Author(s), nd)。如果年份不可用,我该如何删除它。
答案1
\renewbibmacro*{cite}{%
\iffieldundef{shorthand}
{\ifnameundef{labelname}
{\usebibmacro{cite:label}%
\setunit{\printdelim{nonameyeardelim}}}
{\printnames{labelname}%
\setunit{\printdelim{nameyeardelim}}}%
\iffieldequalstr{labelyear}{nodate}
{\printfield{extradate}}
{\usebibmacro{cite:labeldate+extradate}}}
{\usebibmacro{cite:shorthand}}}
如果没有给出年份,则不会显示“nd”,如果引用是作者的唯一作品,则不会显示任何内容;如果该作者有多部作品,则不会显示一封信。如果您希望标题消除同一作者的几部作品的歧义,请将其替换\printfield{extradate}
为\iffieldundef{extradate}{}{\printfield[citetitle]{labeltitle}}
。