如何在 elsevier 课程文档中使用 APA7 参考文献列表

如何在 elsevier 课程文档中使用 APA7 参考文献列表

我正在用 elsevier.cls latex 格式撰写我的硕士论文,刚刚发现它使用了哈佛格式的引用。我试图将最后的参考文献列表改为 APA7 格式(大学要求),但无济于事。这不可能吗,或者我该如何正确地做到这一点?这是我的序言和我尝试制作参考文献列表的部分。

(最好使用 natbib 的解决方案)

\documentclass[authoryear,12pt]{elsarticle}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{ragged2e}
\usepackage{adjustbox}
\usepackage{diagbox}
\usepackage{geometry}
\usepackage{setspace}
\usepackage{tablefootnote}
\usepackage{natbib}
\usepackage{amsmath}
\usepackage{algorithmicx}
\usepackage[ruled]{algorithm}
\usepackage[noend]{algpseudocode}
\usepackage{acro}
\usepackage{multirow}
\usepackage{tocloft}
\usepackage{enumitem}
\usepackage{algorithm}
\usepackage{caption} % For customizing captions
\captionsetup{justification=centering} % Center the captions
\usepackage{hyperref}
\hypersetup{colorlinks=true, linkcolor=black, citecolor=black}

\begin{document}

%% ...

\bibliographystyle{elsarticle-harv}
\bibliography{references}
\end{document}

答案1

Elsevier 类natbib默认使用,并且没有可用的 APA7 实现natbib。但是该类提供了一个选项nonatbib,可以阻止natbib加载任何相关代码。因此,您不应该将该authoryear选项传递给该类,也不应该自己加载natbib

因为该类定义了一个author计数器,但似乎没有使用它,并且如果它确实使用了,我假设它只用于与您使用该类无关的事情,我已经取消定义它,以便biblatex可以定义它自己的。

然后,您就可以使用实现 APA7 的样式。您需要使用而不是 来biblatex apa处理文件。如果使用该选项加载,则可以继续使用现有的引用命令,这意味着从 切换到应该不会太难。此解决方案经过了很少的测试。biberbibtexbiblatexnatbib=truenatbibnatbibbiblatex

如果您不愿意使用,biblatex那么最好的选择是使用该选项加载apacitenatbibapa(仍然使用nonatbib该类的选项),并希望检查您的论文是否合规的人无法分辨 APA6 和 APA7 之间的区别。

\documentclass[nonatbib]{elsarticle}
\usepackage{etoolbox}
\makeatletter\let\c@author\relax\makeatother
\usepackage{csquotes} % recommended
\usepackage[english]{babel} % recommended (or with an appropriate language)
\usepackage[natbib=true, style=apa]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
Natbib citation commands work \citet{glashow} \citep{companion}.
\printbibliography
\end{document}

相关内容