![如何调整 BibLaTeX APA 样式以根据 APA 样式正确格式化报纸或网站参考文献](https://linux22.com/image/480062/%E5%A6%82%E4%BD%95%E8%B0%83%E6%95%B4%20BibLaTeX%20APA%20%E6%A0%B7%E5%BC%8F%E4%BB%A5%E6%A0%B9%E6%8D%AE%20APA%20%E6%A0%B7%E5%BC%8F%E6%AD%A3%E7%A1%AE%E6%A0%BC%E5%BC%8F%E5%8C%96%E6%8A%A5%E7%BA%B8%E6%88%96%E7%BD%91%E7%AB%99%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE.png)
我正在使用 BibLaTeX APA 格式引用并生成大学作业的参考书目。但是,我发现报纸和网站在参考书目中的显示方式与APA 网站参考资料和APA 报纸参考文献。
示例代码为:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[T1]{fontenc} % Output font encoding for international characters
\usepackage[american]{babel}
\usepackage[autostyle=true]{csquotes} % Required to generate language-dependent quotes in the bibliography
\usepackage[style=apa, backend=biber]{biblatex}
%\usepackage[backend=biber,style=authoryear,citestyle=apa]{biblatex}
\addbibresource{bib_test_lib.bib} % The filename of the bibliography
\begin{document}
Add citations for bibliography to appear \parencite{thomasWhyDidAirbus2019, wallHowAirbusA3802019}.
Also over-rode addinfo2 macro to stop [newspaper], [magazine] etc. being appended to the title field - \textbackslash renewbibmacro*{addinfo2}\{\}.
\renewbibmacro*{addinfo2}{}
\printbibliography[title=References]
Should be (with incorrect indentations):
\section*{References should be}
\noindent Thomas, D. (2019, February 14). Why did the Airbus A380 fail? \emph{BBC News.} https:/\slash www.bbc.com\slash news\slash business-47225789
\noindent Wall, R., \& Michaels, D. (2019, February 19). How Airbus’s A380 Went From Wonder to Blunder; World’s largest passenger plane was hurt by misjudged market trends, internal dysfunction and production problems. \emph{Wall Street Journal (Online)}.
\end{document}
书目文件内容(由Zotero生成)为:
@article{thomasWhyDidAirbus2019,
title = {Why Did the {{Airbus A380}} Fail?},
author = {Thomas, Daniel},
date = {2019-02-14},
journaltitle = {BBC News},
url = {https://www.bbc.com/news/business-47225789},
urldate = {2020-08-20},
abstract = {It was billed as the future of air travel, but airlines increasingly saw the jet as too big and inefficient.},
entrysubtype = {newspaper},
file = {D\:\\Users\\Michael\\Zotero\\storage\\R3NSWI6X\\business-47225789.html},
journalsubtitle = {Business},
langid = {british}
}
@online{wallHowAirbusA3802019,
title = {How {{Airbus}}'s {{A380 Went From Wonder}} to {{Blunder}}; {{World}}'s Largest Passenger Plane Was Hurt by Misjudged Market Trends, Internal Dysfunction and Production Problems},
author = {Wall, Robert and Michaels, Daniel},
date = {2019-02-19},
journaltitle = {Wall Street Journal (Online)},
file = {D\:\\Users\\Michael\\Zotero\\storage\\BEVIACL9\\18.html}
}
生成的参考书目条目显示如下(缩进不正确):
Thomas, D. (2019).空客 A380 为何失败?BBC 新闻:商业。2020 年 8 月 20 日检索自https://www.bbc.com/news/business-47225789
Wall, R., & Michaels, D.(2019 年 2 月 19 日)。空中客车 A380 如何从奇迹走向失败;世界上最大的客机因对市场趋势的判断错误、内部功能障碍和生产问题而受到影响。
参考书目应如下所示:
Thomas, D. (2019 年 2 月 14 日)。空客 A380 为何失败?英国广播公司的新闻。 https://www.bbc.com/news/business-47225789
Wall, R., & Michaels, D. (2019 年 2 月 19 日)。空客 A380 如何从奇迹走向失败;世界上最大的客机因误判市场趋势、内部功能障碍和生产问题而受损。华尔街日报(在线)。
标记为报纸的“Thomas”参考文献应该在作者后有一个较长的日期字段。“Wall”参考文献缺少网站标题。
如果我可以将报纸条目更改为使用长日期格式(这样我就可以将上述网页重新归类为报纸),我会很满意,但我无法通过文件了解apa.bbx
这里发生了什么。
我正在使用 Windows 10、MiKTeX Console 4.01、TeXstudio 2.12.22,并在提出问题之前于 20 年 8 月 21 日更新了所有软件包。
PS 这是否值得在 CTAN 上报告问题,因为 APA 样式包与其网站上的 APA 样式示例不匹配?
答案1
作为乌尔丽克·菲舍尔说在评论中,软件包中的错误应报告给作者/开发者/维护者,而不是 CTAN。通常 CTAN 页面或文档会告诉您在哪里报告错误。biblatex-apa
报告错误的最佳方式是通过https://github.com/plk/biblatex-apa/issues。
如果biblatex-apa
偏离 APA 要求,则应视为错误并进行报告。
和 Ulrike 一样,我不太明白为什么wallHowAirbusA3802019
会有这样的@online
条目。首先,它出现在一个在线新闻媒体上,与英国广播公司的新闻(为此您使用了@article
,这更合适)其次,所讨论的条目甚至没有字段url
。 (我想说一般来说,@online
条目至少应该有一个url
,doi
或eprint
字段。)
您的两个条目之间的结构相似性表明它们应该使用相同的常规设置:我会将两者都设为@article
s。
正如所讨论的引用在线报纸时在参考书目中显示日期(APA)和https://github.com/plk/biblatex-apa/issues/116目前,提供非学术报纸/期刊参考的最佳方式是添加关键字nonacademic
。这将在未来版本中发生变化biblatex-apa
:然后您可以使用更自然的entrysubtype = {nonacademic},
代替keywords = {nonacademic},
。
对于 URL 访问日期,APA 手册说https://apastyle.apa.org/style-grammar-guidelines/references/elements-list-entry#retrieval
检索日期
仅当作品未存档且设计为随时间变化时才包含检索日期。大多数参考文献未包含检索日期。出版手册第 10 章和参考文献示例页面中提供了一些包含检索日期的示例。
这似乎不是一个可以自动化的标准,所以目前的立场是,如果存在则biblatex-apa
打印,如果根据 APA 规则不合适则要求文件的作者删除。urldate
.bib
urldate
如果您想要一个更便携的.bib
文件,其中urldate
始终提供,您可以定义一个新的选择加入选项apashowurldate
,该选项需要存在以显示访问日期,否则将被忽略。(下面的附加示例基于https://apastyle.apa.org/style-grammar-guidelines/references/examples/webpage-website-references)
\listfiles
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage[style=apa, backend=biber]{biblatex}
\newtoggle{apa:showurldate}
\DeclareEntryOption[boolean]{apashowurldate}[true]{%
\settoggle{apa:showurldate}{#1}}
\renewbibmacro*{url+urldate}{%
\ifthenelse{\iffieldundef{url}\OR\NOT\iffieldundef{doi}}
{}
{\ifboolexpr{not togl {apa:showurldate} or test {\iffieldundef{urlyear}}}
{}
{\bibstring{retrieved}%
\setunit{\addspace}%
\printurldate
\setunit{\urldatecomma}%
\bibstring{from}%
\setunit{\addspace}}%
\iffieldundef{url}{}{\printfield{url}\renewcommand*{\finentrypunct}{\relax}}}}
\begin{filecontents}{\jobname.bib}
@article{thomasWhyDidAirbus2019,
title = {Why Did the {Airbus A380} Fail?},
author = {Thomas, Daniel},
date = {2019-02-14},
journaltitle = {BBC News},
url = {https://www.bbc.com/news/business-47225789},
urldate = {2020-08-20},
abstract = {It was billed as the future of air travel,
but airlines increasingly saw the jet as too big and inefficient.},
keywords = {nonacademic},
langid = {british},
}
@article{wallHowAirbusA3802019,
title = {How {Airbus's A380} Went From Wonder to Blunder;
World's Largest Passenger Plane Was Hurt by Misjudged Market Trends,
Internal Dysfunction and Production Problems},
author = {Wall, Robert and Michaels, Daniel},
date = {2019-02-19},
journaltitle = {Wall Street Journal (Online)},
keywords = {nonacademic},
}
@online{popclock,
author = {{U.S. Census Bureau}},
title = {{U.S.} and world population clock},
url = {https://www.census.gov/popclock/},
urldate = {2020-01-09},
options = {apashowurldate},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Add citations for bibliography to appear
\autocite{thomasWhyDidAirbus2019, wallHowAirbusA3802019,popclock}.
\printbibliography
Should be (with incorrect indentations):
\section*{References should be}
\noindent Thomas, D. (2019, February 14).
Why did the Airbus A380 fail? \emph{BBC News.}
https:/\slash www.bbc.com\slash news\slash business-47225789
\noindent Wall, R., \& Michaels, D. (2019, February 19).
How Airbus’s A380 Went From Wonder to Blunder;
World’s largest passenger plane was hurt by misjudged market trends,
internal dysfunction and production problems.
\emph{Wall Street Journal (Online)}.
\end{document}