我一直在尝试修改biblatex.def
命令以输出@Online
如下所示的 bib 条目(以 Wikipedia 为例):
维基百科。维基百科 维基百科. 2022. 访问日期:2022 年 6 月 7 日。
我的样式修改一直到 2022 年都有效,但我似乎无法使组合与访问日期相符,并且无法urldate
按原样打印。我根据文章类型使用numeric
/样式。我使用宏将所有条目超链接到其 DOI ( ) 或 URL ( ),并附上说明这一点的预注,因此我不需要将实际 URL 输出到参考书目条目中。numeric-comp
@Article
@Online
尝试解决方案后jon 的回答,我仍然无法获得urldate
输出,更不用说更改其格式了。我使用的努力\DeclareFieldFormat[online]{url}{}
没有奏效,也没有编辑:
\newbibmacro*{url+urldate}{%
\usebibmacro{url}%
\iffieldundef{urlyear}
{}
{\setunit*{\addspace}%
\usebibmacro{urldate}}}
\newbibmacro*{url}{\printfield{url}}
到:
\renewbibmacro*{url+urldate}{%
\setunit*{\addspace}%
\usebibmacro{urldate}}
\renewbibmacro*{url}{}
有人知道我怎样才能在不包含/ styles@Online
中的 bib 条目URL 的情况下打印访问日期吗?numeric
numeric-comp
梅威瑟:
\begin{filecontents}{test.bib}
@Online{Wiki,
author = {Wikipedia},
title = {Wikipedia the Wikipedia},
url = {https://en.wikipedia.org/wiki/Main_Page},
urldate = {06/07/2022},
year = {2022},
}
\end{filecontents}
\documentclass{article}
\usepackage[english]{babel}
\usepackage[backend=biber,style=numeric]{biblatex}
\addbibresource{test.bib}
% Original definition in english.lbx:
% urlseen = {{visited on}{visited on}},
\DefineBibliographyStrings{english}{%
urlseen = {Accessed:},
}
\begin{document}
\cite{Wiki}
\printbibliography
\end{document}
目前的情况:
答案1
您必须以 ISO 格式输入日期。
\begin{filecontents}[force]{testurl.bib}
@Online{Wiki,
author = {Wikipedia},
title = {Wikipedia the Wikipedia},
url = {https://en.wikipedia.org/wiki/Main_Page},
urldate = {2022-06-07},
year = {2022},
}
\end{filecontents}
\documentclass{article}
\usepackage[english]{babel}
\usepackage[backend=biber,style=numeric]{biblatex}
\renewbibmacro*{url+urldate}{%
\setunit*{\addspace}%
\usebibmacro{urldate}}
\DeclareFieldFormat{urldate}{{\bibstring{urlseen}\space#1}}
\addbibresource{testurl.bib}
% Original definition in english.lbx:
% urlseen = {{visited on}{visited on}},
\DefineBibliographyStrings{english}{%
urlseen = {Accessed:},
}
\begin{document}
\cite{Wiki}
\printbibliography
\end{document}