Biblatex-apa,遵守标准 apa 日期格式(完整日期与年份除外)

Biblatex-apa,遵守标准 apa 日期格式(完整日期与年份除外)

我使用 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?

在此处输入图片描述

正如这里所要求的,基本的MWE:

\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}}

替换monthbylabelmonthdaybylabelday解决了问题。这很令人困惑,因为monthday不是 bib 条目中的字段。

相关内容