手动清除 urldate 字段

手动清除 urldate 字段

biblatex-chicago 包中有一个错误。

即使url=false指定了“ ”(\usepackage[url=false]{biblatex-chicago}),Biblatex-chicago 也会打印 urldate 信息(“访问于 2017 年 9 月 27 日”)。

这不是 biblatex 的行为。

我通知了作者他会修复这个问题。同时,我需要一种方法来清除与我的 .bib 数据库相关的 urldate 字段。

我尝试过但没有成功:

\AtEveryBibitem{\clearfield{urldate}}

梅威瑟:

\documentclass{article}
\usepackage[authordate,url=false]{biblatex-chicago}
%\usepackage[style=authoryear,url=false]{biblatex}
\addbibresource{test_biblio.bib}
\begin{document}

text
\autocite{test42}

\printbibliography

\end{document}

测试书目.bib

@book{test42,
  author = {Author},
  title = {title},
  year = 2001,
  title = {Title},
  url = {tex.stackexchange.com},
  urldate = {2017-09-27}
}

答案1

在内部,date类似字段由后端(Biber 或 BibTeX)分解为它们的日期部分,以便在 中更轻松地处理biblatex。因此,对于biblatex没有urldate,但有urlyearurlmonthurlday,...(当然,这并不意味着urldate不应该在文件中用作输入.bib,事实上只有urldate是有效输入,urlyear不是。)

因此您需要删除日期部分。由于biblatex不打印日期,如果缺少年份,则只需说

\AtEveryBibitem{\clearfield{urlyear}}

urldate如果你根本不想要,

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldset=urldate, null]
    }
  }
}

更安全,因为它确保urldate完全忽略,而即使您使用\AtEveryBibitem{\clearfield{urlyear}}它也可以用于标签生成。

相关内容