![Biblatex-apa,遵守标准 apa 日期格式(完整日期与年份除外)](https://linux22.com/image/352703/Biblatex-apa%EF%BC%8C%E9%81%B5%E5%AE%88%E6%A0%87%E5%87%86%20apa%20%E6%97%A5%E6%9C%9F%E6%A0%BC%E5%BC%8F%EF%BC%88%E5%AE%8C%E6%95%B4%E6%97%A5%E6%9C%9F%E4%B8%8E%E5%B9%B4%E4%BB%BD%E9%99%A4%E5%A4%96%EF%BC%89.png)
我使用 Zotero 来管理我的参考书目。Zotero 允许我以 BibLateX 和 BibTeX 格式导出我的图书馆。它们之间没有太大区别,但是,我确实注意到它导出给定参考的年份的方式不同。
如果我指定了参考文献的确切日期,例如 1991-09-01,则以“biblatex”格式导出时会包含完整日期,而以 BibTeX 格式导出时会分别包含年份和月份,但不包括日期(见下文):
BIBLATEX
@article{mysampleref_1991,
[...]
date = {1991-09-01},
langid = {english}
}
BIBTEX
@article{mysampleref_1991,
[...]
month = sep,
year = {1991},
pages = {339--354}
}
现在,这样就不是问题了。但是,根据 APA,参考书目中的标准期刊文章应该只显示作者之后的年份(而不是完整的日期,包括月和日)。
我在序言中使用 biblatex-apa 如下:
\usepackage[style=apa, sortcites=true]{biblatex}
\DeclareLanguageMapping{british}{british-apa}
\addbibresource{reflib.bib}
如果我使用 biblatex 格式的 bib 文件(其中包含完整日期)导入 bib 文件,则参考书目中的参考文献也会显示完整日期(见下面的屏幕截图)。我对这种行为感到惊讶,因为我原本以为 biblatex-apa 会自动隐藏完整日期,只显示年份,但事实并非如此。我必须在包选项中另外指定 labeldate=year
以确保只显示年份。biblatex-apa 肯定默认遵循标准 APA?
\documentclass[12pt, a4paper]{memoir}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage[style=apa, sortcites=true]{biblatex}
\DeclareLanguageMapping{british}{british-apa}
\addbibresource{biblatex.bib}
\begin{document}
Just a basic test of some an APA reference \cite{wheeler_self-recording_1991}.
\printbibliography
\end{document}
这是从 Zotero 导出的 biblatex 格式的参考书目内容示例(biblatex.bib)
@article{wheeler_self-recording_1991,
title = {Self-recording of everyday life events: origins, types, and uses},
volume = {59},
issn = {1467-6494},
url = {http://onlinelibrary.wiley.com/doi/10.1111/j.1467-6494.1991.tb00252.x/abstract},
doi = {10.1111/j.1467-6494.1991.tb00252.x},
shorttitle = {Self-Recording of Everyday Life Events},
abstract = {Some abstract text},
pages = {339--354},
number = {3},
journaltitle = {Journal of Personality},
author = {Wheeler, Ladd and Reis, Harry T.},
urldate = {2017-04-07},
date = {1991-09-01},
langid = {english}
}
答案1
此问题已在 7.5 版中修复,但尚未发布。目前,作为解决方法,您可以将此内容添加到您的序言中:
\AtEveryCite{%
\clearfield{labelmonth}%
\clearfield{labelday}%
\clearfield{labelendmonth}%
\clearfield{labelendday}%
}
答案2
当我在 Windows 10 上使用 Miktex 更新 biblatex (3.9) 和 biblatex-apa (7.5) 时遇到了这个问题。对于 bib 条目,我使用带有 BBLatex 导出工具的 Zotero。
我曾经有过date= year
包裹选项和:
\AtEveryBibitem{\clearfield{month}}
\AtEveryBibitem{\clearfield{day}}
替换month
bylabelmonth
和day
bylabelday
解决了问题。这很令人困惑,因为month
和day
不是 bib 条目中的字段。