我已经使用 biblatex 多年了,但最近开始在我的 bib 文件中使用日期字段而不是年份。我现在用 biblatex-chicago 创建了一个参考书目,其序言如下。
看起来一切良好,但我得到了两次日期:
Name, Firstname. YEAR. "Title." *Journal* Vol, no, (Month-Day-Year): page-page.
我查阅了文档,但找不到如何摆脱第二个日期字段的方法,因为根据芝加哥风格指南,该字段不仅无用,而且甚至不是必需的或必要的。
\documentclass[paper=a4,draft=on,fontsize=12pt,headings=small]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage[authordate,backend=biber]{biblatex-chicago}
\bibliography{publications.bib}
\begin{document}
\nocite{Author:year}
\printbibliography
\end{document}
答案1
如果您尝试使用该date
字段,您会发现,如果完整日期比年份更具体,样式只会显示两次日期。我不知道 CMS 的具体细节,但我认为这种行为是有道理的,但如果它确实违反了样式要求,请联系作者biblatex-chicago
并将其报告为错误(我上次给他发电子邮件时,他很快就得到了回复)。
的日期处理非常复杂,因此当您弄乱它时,请再三检查其他一切是否正确。对于报纸(带有)和许多其他条目类型biblatex-chicago
的引用,最好不要隐藏第二个更精确的日期。@article
entrysubtype = {magazine},
一个简单且没有副作用的解决方案是,.bib
如果不需要(或不需要)文件中的月份和日期信息,则删除这些信息。
自动删除重复日期的一种方法是在内部宏中更积极地删除字段clear+datefield
。该宏在第一次打印日期后执行。如果我们告诉它删除日期字段,我们就不会第二次打印它们。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[authordate, backend=biber]{biblatex-chicago}
\renewbibmacro*{clear+datefield}[1]{%
\clearfield{#1year}%
\clearfield{#1month}%
\clearfield{#1season}%
\clearfield{#1endyear}%
\clearfield{#1endmonth}%
\clearfield{#1endseason}%
}
\begin{filecontents}{\jobname.bib}
@article{appleby:y,
author = {Humphrey Appleby},
title = {On the Importance of the Civil Service},
journal = {Journal of Important Things},
volume = {47},
number = {2},
pages = {134-178},
date = {1980},
}
@article{bppleby:ym,
author = {Humphrey Bppleby},
title = {On the Importance of the Civil Service},
journal = {Journal of Important Things},
volume = {50},
number = {2},
pages = {134-178},
date = {1985-06},
}
@article{cppleby:ymd,
author = {Humphrey Cppleby},
title = {On the Importance of the Civil Service},
journal = {Journal of Important Things},
volume = {53},
number = {2},
pages = {134-178},
date = {1990-07-01},
}
@book{dppleby:y,
author = {Humphrey Dppleby},
title = {On the Importance of the Civil Service},
location = {Place},
publisher = {Pub \& Co.},
date = {1980},
}
@book{eppleby:ym,
author = {Humphrey Eppleby},
title = {On the Importance of the Civil Service},
location = {Place},
publisher = {Pub \& Co.},
date = {1985-06},
}
@book{fppleby:ymd,
author = {Humphrey Fppleby},
title = {On the Importance of the Civil Service},
location = {Place},
publisher = {Pub \& Co.},
date = {1990-07-01},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{appleby:y,bppleby:ym,cppleby:ymd,
dppleby:y,eppleby:ym,fppleby:ymd}
\printbibliography
\end{document}