biblatex 将 urldate 显示为 dd.mm.yyyy 而不是 dmyyyy

biblatex 将 urldate 显示为 dd.mm.yyyy 而不是 dmyyyy

我正在尝试更改我的参考书目中的日期格式,当前为 dmyyyy(例如 6.7.2022),应为 dd.mm.yyyy(06.07.2022)。

这是我正在做的事情:

\DeclareFieldFormat{urldate}{%
\thefield{urlday}\adddot%
\thefield{urlmonth}\adddot%
\thefield{urlyear}\isdot}

我尝试使用 dateabbrev=false 和 urldate=long 调用 biber,但不起作用。如果需要,有没有办法显示带前导 0 的 urlday 和 urlmonth?

编辑:这是一个 MWEB(我希望它足够小,但我不确定我可以省略什么而不会出现问题)

\documentclass[12pt, numbers=noenddot]{scrreprt}
\usepackage[a4paper]{geometry}
\usepackage{pdfpages}
\usepackage[utf8]{inputenc}
\usepackage{helvet}
\usepackage[ngerman, british]{babel}
\usepackage{csquotes}
\usepackage[parfill]{parskip} % paragraphs not indentated
\usepackage[backend=biber, dateabbrev=false, citestyle=numeric, sorting=none, urldate=long, bibstyle=authoryear]{biblatex}
\usepackage{color}
\usepackage{xpatch} % correct dots in chapters and sections
\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1}
\xpretocmd\chapterformat
  {\def\autodot{.}}% replace \autodot by a fixed dot for chapter headings
  {}{\cfPatchFailed}%
\RedeclareSectionCommand[
  beforeskip=-1sp,
  tocentrynumberformat=\def\autodot{.}% replace \autodot by a fixed dot for chapter entries
]{chapter}

\MakeOuterQuote{"} % german quotes
\selectlanguage{ngerman}
\renewcommand{\familydefault}{\sfdefault} % Arial
\linespread{1.25} % equals 1.5 spacing in word
\addbibresource{\jobname.bib}

\begin{filecontents}{\jobname.bib}
@book{key,
  author = {Author, A.},
  year = {2001},
  title = {Title},
  urldate = {2022-07-06},
  publisher = {Publisher},
}
\end{filecontents}
\AtEveryBibitem{[\printfield{labelnumber}]\addspace} % Numbers in the bib
\setlength{\bibhang}{0pt} % no indentation in bibliography

\DeclareFieldFormat{urldate}{%
  [\thefield{urlday}\adddot%
  \thefield{urlmonth}\adddot%
  \thefield{urlyear}\isdot]
}
\begin{document}

\cite{key}

\printbibliography

\end{document}

我猜我的语言有些问题 - 我加载德语和英国语的原因是为了et al.u.a.我的参考书目中得到

答案1

第一个错误是使用britishin addition to,ngerman因为我希望我的参考书目写成“et. al”而不是“ua”,所以我删除了英国选项babel,而是使用

\DefineBibliographyStrings{ngerman}{
   andothers = {{et\,al\adddot}},
}

为了那个原因。

然后我删除了我最初希望的解决方案

\DeclareFieldFormat{urldate}{%
\thefield{urlday}\adddot%
\thefield{urlmonth}\adddot%
\thefield{urlyear}\isdot}

最后我从 biblatex 选项中删除了dateabbrev=false和。urldate=long

现在urldate显示为“besucht am DD.MM.YYYY”。

为了删除“besucht am”,我做了

\DeclareFieldFormat{urldate}{[#1]}

现在显示urldate为 [DD.MM.YYYY]。

相关内容