我正在用 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
处理文件。如果使用该选项加载,则可以继续使用现有的引用命令,这意味着从 切换到应该不会太难。此解决方案经过了很少的测试。biber
bibtex
biblatex
natbib=true
natbib
natbib
biblatex
如果您不愿意使用,biblatex
那么最好的选择是使用该选项加载apacite
包natbibapa
(仍然使用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}