使用 biblatex-iso690 进行简短约会

使用 biblatex-iso690 进行简短约会

我正在尝试使用iso-alphabetic包中的 biblatex 样式biblatex-iso690

样式包含此代码(参见此处)https://github.com/michal-h21/biblatex-iso690/blob/065ab3d7e20c4d797d702d21ffad596cef150db9/iso.bbx#L74):

\ExecuteBibliographyOptions{%
  date=year,% Use only years
  urldate=iso,% Use ISO8601 Extended Format (yyyy-mm-dd) for URL 'seen' dates
  seconds=true,% ISO8601 format requires 'seconds=true'
}

我想用 覆盖日期设置alldates=long,但是不起作用。

梅威瑟:

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{test.bib}
@online{A,
    author={A},
    date={2000-01-01},
    urldate={2020-02-02},
}
\end{filecontents}
\usepackage[style=iso-alphabetic,alldates=short]{biblatex}
\addbibresource{test.bib}
\begin{document}
    \cite{A}
    \printbibliography
\end{document}

输出:

输出

我需要做什么才能将输出中的“2000-01-01”更改为“01/01/2000”

答案1

biblatex-iso690使用技巧来打印完整日期,否则@online只打印年份(这是必要的,因为biblatex不支持类型级日期选项,请参阅https://github.com/plk/biblatex/issues/863https://github.com/michal-h21/biblatex-iso690/pull/74用于历史记录biblatex-iso690。特别是 ISO 日期格式在宏中是硬编码的fulldatehttps://github.com/michal-h21/biblatex-iso690/blob/065ab3d7e20c4d797d702d21ffad596cef150db9/iso.bbx#L504)。您可以通过重新定义该宏来更改日期格式。

\documentclass{article}

\usepackage[style=iso-alphabetic,alldates=short]{biblatex}

\newbibmacro*{fulldate}{%
  \mkdaterangeshort{}%
}

\begin{filecontents}{\jobname.bib}
@online{A,
  author  = {A},
  date    = {2000-01-01},
  urldate = {2020-02-02},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
    \cite{A}
    \printbibliography
\end{document}

[A00] A [在线]。2000 年 1 月 1 日 [访问日期:2020 年 2 月 2 日]。

相关内容