这是一个关于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
中将继续支持这一点。仍然.bib
date
鼓励使用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
。