Biblatex:在参考书目中显示 URL 日期

Biblatex:在参考书目中显示 URL 日期

我目前使用 biblatex/biber 和 'chem-rsc' 样式在 latex 中引用我的参考文献。不幸的是,使用这种样式时,参考书目中的 @online 条目不会显示访问日期。现在,我尝试重新定义 URL 的参考书目格式,以便获得以下格式(德语):

在线访问 URL:>>URL<<,查看 >>urldate<<

经过一番研究,我把来自与该主题相关的不同线程的以下代码拼凑在一起。

梅威瑟:

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[style=chem-rsc]{biblatex}

\begin{filecontents}{references.bib}
@Online{AgIGESTIS,
  institution  = {IFA},
  organization = {IFA},
  urldate    = {2023-01-30},
  title        = {Eintrag zu Silberiodid in der GESTIS-Stoffdatenbank},
  url          = {https://gestis.dguv.de/data?name=122731},
}
\end{filecontents}

\addbibresource{references.bib}

\NewBibliographyString{available}
\NewBibliographyString{cited}

\DefineBibliographyStrings{ngerman}{%
  available = {online unter URL},
 cited = {aufgerufen am},
}

\DeclareFieldFormat{url}{\bibstring{available}\addcolon\space\url{#1}}
\DeclareFieldFormat{urldate}{#1}

\renewbibmacro*{url+urldate}{%
  \printfield{url}\addcomma\space
  \printtext{\bibstring{cited}}
  \printfield{urldate}
  }
  
\begin{document}

Lorem ipsum\nocite{AgIGESTIS}

\printbibliography

\end{document}

结果:

在此处输入图片描述

虽然我通常能从中获取正确的格式,但 urldate 并未打印出来。显然,statemend\printfield{urldate}在这里不起作用。我也尝试了\printurldate\printfield{urlday},但似乎都没有返回任何内容。知道我做错了什么吗?还有其他方法可以显示日期吗?

答案1

urldate参考书目文件中的字段分别被解析为其biblatex组件biberurlyearurlmonth其他urlday各种字段。biblatex文档中记录了这一点:对于 v3.18b(2022 年 7 月 12 日),请参阅第 4.2.4.3 节“日期组件字段”:

See table 10 for an overview of how the date fields in bib files are related to the
date fields provided by the style interface.

引用表描述了您可以在格式化宏中使用的所有结果字段。用于\iffieldundef测试现有字段。

这使您可以按照您想要的最合适的日期格式来格式化日期。

因此,在重新定义的url+urldatebib 宏中,您必须替换该行

\printfield{urldate}

经过

\printurldate

并通过选项设置日期格式。(感谢@moewe!)

(如果需要,您可以使用低级别来实现它 \printfield{urlyear}-\printfield{urlmonth}-\printfield{urlday} 并添加\iffieldundef测试以允许不完整的日期,例如没有日期。)

相关内容