该biblatex-chicago
软件包有一个错误,如果
- 您在调用中指定“date=year”
biblatex-chicago
, - 您的文件中表达了日期,
.bib
例如“date = {2011-12-01}”。
结果 :
我通知了该软件包的作者,但是我担心需要很长时间才能biblatex-chicago
修复我的 Debian sid 版本。
我正在寻找一个临时解决办法。
梅威瑟:
\documentclass{article}
\usepackage[authordate,date=year]{biblatex-chicago}
\addbibresource{test_biblio.bib}
\begin{document}
\cite{test42}
\printbibliography
\end{document}
测试书目.bib
@article{test42,
author = {Author},
title = {title},
date = {2011-12-01},
title = {Title},
journal = {Journal},
number = {88},
}
答案1
设置的另一种方法是通过 Biber sourcemappingdate=year
删除字段中的月份和日期信息date
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldset=month, null]
\step[fieldsource=date, match=\regexp{([0-9]{4})-([0-9]{2})(-[0-9]{2})?}, replace={$1}]
}
}
}
答案2
一个简单的解决方法是不是biblatex-chicago
在通话中指定“date=year” !
使用以下 MWE(包filecontents
仅用于将bib
文件和 TeX 代码合并到一个可编译的 MWE 中):
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{test42,
author = {Author},
title = {title},
date = {2011-12-01},
title = {Title},
journal = {Journal},
number = {88},
}
@article{test43,
author = {Adams},
title = {title},
date = {2014},
title = {Title},
journal = {Journal},
number = {88},
}
@article{test44,
author = {Testerle},
title = {title},
date = {2015-12},
title = {Title},
journal = {Journal},
number = {88},
}
\end{filecontents}
\documentclass{article}
\usepackage[%
authordate,
% date=year % <=========================================================
]{biblatex-chicago}
\addbibresource{\jobname.bib}
\begin{document}
\cite{test42}\nocite{*}
\printbibliography
\end{document}
您将获得以下结果,没有错误,只有一个警告(来自filecontents
,好的):