我使用过该命令\AtEveryBibitem{\clearfield{month}}
来阻止biblatex
在参考书目中打印出版月份。至少在biblatex
2.5 版和biber
1.5 版之前,这个命令都运行良好:
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\AtEveryBibitem{\clearfield{month}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@ARTICLE{lennon,
AUTHOR = "John Lennon",
TITLE = "I wrote great music",
JOURNALTITLE = "Journal of Music",
YEAR = "1978",
MONTH = "10",
PAGES = "15--27",
VOLUME = "5"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{lennon}
\printbibliography
\end{document}
然而,在biblatex
2.7a 版本和biber
1.7 版本中,此命令显然不再有效:
在新版本中我需要做什么biblatex
才能避免打印出版月份?
答案1
实际上,您应该清除的字段是labelmonth
,而不是month
。如果将命令更改为\clearfield{labelmonth}
,它就会起作用。要完全清除月份,您应该同时清除labelmonth
和month
。这是因为 authoryear 样式使用labeldate=true
,因此label*
字段用作各种日期字段的来源。
labelmonth
并labelday
在 2.6 版中添加,以便进行镜像,labelyear
这就是您看到与 2.5 版差异的原因