我正在尝试更改我的参考书目中的日期格式,当前为 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
第一个错误是使用british
in 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]。