biblatex 中的年份与日期

biblatex 中的年份与日期

这是一个关于biblatex 中year和字段的(未来)使用的一般性问题(希望不要太一般性) 。date

这个问题的简短版本实际上可能是:“该year字段是否可能在某个时候被弃用,我应该切换使用吗date?”

但实际上我对它更感兴趣。biblatex 手册强烈建议使用 字段date而不是 字段year。但是,到目前为止,我使用 效果还不错year。我很少需要月份和日期,或者一些其他花哨的东西,比如时代和事物,所以出于经济原因,到目前为止,我发现只使用 字段更容易,year然后偶尔使用“印刷中”、“即将出版”或“无日期”

Year = {\bibstring{inpress}}

例如,而不是留空Date并给出

Pubstate = {inpress}

(因为date = {inpress}date = {\bibstring{inpress}}不起作用)。将year与字段一起使用origdate似乎也很好用(至少对于biblatex-chicago作者日期规范而言)。所以目前我看不出有什么理由将我的数据库更改为date。但是,有什么特别的原因让我不应该使用year?将来它可能会被弃用吗?

答案1

虽然biblatex做出了相当一部分向后不兼容的更改(主要例子:Biblatex 3.3 名称格式,但我不认为文件中的输入存在许多不兼容的变化.bib)我认为可以公平地假设在可预见的(和不可预见的)未来文件year中将继续支持这一点。仍然.bibdate鼓励使用year如果您想要具有日期精度或日期范围或负年份的完整日期,这是必须的。

我不能保证的是

year = {\bibstring{inpress}},

将继续得到支持。目前,遗留字段year和首选date字段在某些定义中必须分开处理。这对某些人来说是一个混乱和沮丧的根源,也很难维护(参见https://github.com/plk/biblatex/issues/714)。此外,如果通常为数字的字段(年份)带有字符串值(https://github.com/plk/biber/issues/228)。

任意输入year可能会有问题,我只会依赖于将来支持的数字输入。

经过一些调整(诚然,这biblatex-chicago可能意味着很多调整,你当然可以就此事联系维护者,我相信pubstate如果他有时间的话,他会研究适当的整合)

pubstate = {inpress},

应该会给你非常相似的输出

year = {\bibstring{inpress}},

而且它在语义上也更加合理,并且更短,因为你不必一直打字\bibstring

对于标准样式

\DeclareLabeldate{%
  \field{date}
  \field{year}
  \field{eventdate}
  \field{origdate}
  \field{urldate}
  \field{pubstate}
  \literal{nodate}
}

足以显示pubstate引文中的。为了模仿mergedate,您还可以添加

\renewbibmacro*{addendum+pubstate}{%
  \printfield{addendum}%
  \newunit\newblock
  \iffieldequalstr{labeldatesource}{pubstate}
    {}
    {\printfield{pubstate}}}

以避免信息重复pubstate

相关内容