我正在使用 Mendeley 为我的 LaTeX 文件创建一个 .bib 文件(我使用的是 BibLaTeX)。在 Mendeley 中,我将网页的“访问日期”字段定义为例如 2015 年 9 月 18 日,因此它自动变为 2015-09-18。当我导出到 .bib 时,它显示 urldate = {2015-09-18}。但是,编译后,参考书目显示“访问日期为 2015 年 9 月 18 日”(18 是一个不存在的月份!!)。
奇怪的是,其他条目都是正确的,但我以完全相同的方式设置它们,所以我很困惑。在这种情况下,.bib 文件以 {yyyy-dd-mm} 格式显示 urldate,但输出却是我想要的 (dd-mm-yyyy)。
我也尝试强制在 Mendeley 2015-18-09 中写入,以便它是 BibLaTeX 想要的格式,但在这种情况下我收到一条错误消息,提示日期格式错误。
下面,您可以找到一个显示正确日期(2015 年 9 月 4 日)的示例和一个显示错误日期(2015 年 9 月 18 日)的示例。这两个示例都以完全相同的方式输入到 Mendeley 中。
@misc{Latitude,
author = {Wikipedia},
file = {:Users/nuri/Library/Application Support/Mendeley Desktop/Downloaded/2e0d0e2cfa61da92bdfb0de9a0276aef68d1ef5b.html:html},
month = sep,
title = {{Latitude}},
url = {https://en.wikipedia.org/wiki/Latitude#Geocentric_latitude},
urldate = {2015-04-09},
year = {2015}
}
@misc{LatLonAlt,
author = {{H. Dana}, Peter},
file = {:Users/nuri/Library/Application Support/Mendeley Desktop/Downloaded/d44961957a5998c59a16ca94005b2ac1a1d715ea.html:html},
institution = {Department of Geography, University of Texas},
month = dec,
title = {{Coordinate Systems Overview}},
url = {http://www.colorado.edu/geography/gcraft/notes/coordsys/coordsys.html},
urldate = {2015-09-18},
year = {1999}
}
我知道这个问题与 Mendeley 更相关,但我就是找不到答案。任何帮助都将不胜感激。
答案1
最后,我按照建议添加了英国的 babel 包,并删除并再次添加 Mendeley 中一些无论我尝试更改多少次都有日期问题的条目,从而解决了问题。
\documentclass[11 pt, oneside]{report}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[backend=bibtex, citestyle=ieee, bibstyle=ieee]{biblatex}
\addbibresource{library.bib}
\begin{document}
\printbibliography[heading=bibintoc]
\end{document}
感谢你的贡献。
答案2
date
所有字段的输入格式biblatex
始终为yyyy-mm-dd
(以零开头)。
因此,您的两个urldate
s 分别是 2015 年 4 月 9 日Latitude
和 2015 年 9 月 18 日LatLonAlt
。
您将获得 MM/DD/YYYY 的输出,这是biblatex
美国地区的默认设置;american
如果您未指定语言或使用,也会加载本地化内容english
。
要更改日期格式,您可以切换语言,babel
或者british
如果australian
您碰巧使用这些方言。
如果你想遵守美国规则,只改变日期格式,那么就使用
\DefineBibliographyExtras{english}{%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
{\mkdayzeros{\thefield{#3}}%
\iffieldundef{#2}{}{/}}%
\iffieldundef{#2}
{}
{\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{/}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
}
加载英国格式的短日期。
如果你还想使用英国长日期格式,你还需要
\protected\def\mkbibdatelong#1#2#3{%
\iffieldundef{#3}
{}
{\mkbibordinal{\thefield{#3}}%
\iffieldundef{#2}{}{\nobreakspace}}%
\iffieldundef{#2}
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
在里面\DefineBibliographyExtras{english}
。
平均能量损失
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\DefineBibliographyExtras{english}{%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
{\mkdayzeros{\thefield{#3}}%
\iffieldundef{#2}{}{/}}%
\iffieldundef{#2}
{}
{\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{/}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
}
\begin{filecontents*}{\jobname.bib}
@misc{Latitude,
author = {Wikipedia},
title = {Latitude},
url = {https://en.wikipedia.org/wiki/Latitude},
urldate = {2015-04-09},
date = {2015-09},
}
@online{LatLonAlt,
author = {Dana, Peter H.},
institution = {Department of Geography, University of Texas},
title = {Coordinate Systems Overview},
url = {http://www.colorado.edu/geography/gcraft/notes/coordsys/coordsys.html},
urldate = {2015-09-18},
date = {1999-12-15},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography
\end{document}