没有“最后编辑”日期字段的在线资源

没有“最后编辑”日期字段的在线资源

我的大学要求在线资料在每个条目中包含三个不同的日期:

  1. 原始出版日期
  2. 最后编辑日期
  3. 访问网站的日期

好吧,第一个和第三个日期很容易,但是哪个 biblatex 字段对应于第二个日期?

  1. date
  2. ???
  3. urldate

最后,条目看起来应该是这样的

Uthor, A. (1996): A Stackexchange question. <https://tex.stackexchange.com/questions/ask>. (Last edited: 2008-04-36) (Last checked: 2018-01-29)

其中日期对应于上述定义

  1. 1996
  2. 2008-04-36
  3. 2018-01-29

我该如何处理这个问题?现在,我只是使用该note字段,但当然,这并不完全可取,因为它不是很“干净”。

编辑:刚刚发现一些其他类似的问题。我需要研究一下,尽管我不太清楚需要编辑哪个 bibmacro,或者实际上不太了解如何向条目添加自定义字段并将其合并到宏中。我会看看我能做些什么。

我将进一步调查他们。

答案1

如同Biblatex:自定义日期字段。我们需要定义一个.dbx文件来让 Biber 知道这个新内容。然后我们只需要添加对 URL/URL 日期宏的lasteditdate调用。\printlasteditdate

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@online{elk,
  author       = {Anne Elk},
  title        = {On the Theory of Brontosauruses},
  url          = {https://example.edu/~elk/bronto.html},
  lasteditdate = {2018-01-15},
  urldate      = {2018-01-29},
}
\end{filecontents*}


\begin{filecontents*}{lastedit.dbx}
\DeclareDatamodelFields[type=field, datatype=date, skipout]{
  lasteditdate,
}
\DeclareDatamodelEntryfields{
  lasteditday,
  lasteditendday,
  lasteditendhour,
  lasteditendminute,
  lasteditendmonth,
  lasteditendsecond,
  lasteditendtimezone,
  lasteditendyear,
  lastedithour,
  lasteditminute,
  lasteditmonth,
  lasteditsecond,
  lastedittimezone,
  lastedityear,
}
\end{filecontents*}

\documentclass[british]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, datamodel=lastedit, lasteditdate=short]{biblatex}
\usepackage{hyperref}
\addbibresource{\jobname.bib}

\NewBibliographyString{lastchanged}
\DefineBibliographyStrings{english}{
  lastchanged = {last changed},
}

\DeclareFieldFormat{lasteditdate}{\mkbibparens{\bibstring{lastchanged}\space#1}}

\renewbibmacro*{url+urldate}{%
  \usebibmacro{url}%
  \iffieldundef{lastedityear}
    {}
    {\setunit*{\addspace}%
     \printlasteditdate}%
  \iffieldundef{urlyear}
    {}
    {\setunit*{\addspace}%
     \usebibmacro{urldate}}}

\begin{document}
\nocite{*}

\printbibliography
\end{document}

在此处输入图片描述

相关内容