Como usar a lista de referência APA7 no documento da classe elsevier

Como usar a lista de referência APA7 no documento da classe elsevier

Estou criando minha tese de mestrado no estilo látex elsevier.cls e acabei de descobrir que ele usa citação no estilo Harvard. Tentei colocar minha lista de referências no final no estilo APA7 (requisito da universidade), mas sem sucesso. Isso não é possível ou como faço isso corretamente? Este é o meu preâmbulo e a parte em que tento fazer a lista de referências.

(De preferência uma solução usando 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}

Responder1

A classe Elsevier usa natbibpor padrão e não há implementação de APA7 disponível para natbib. Mas a classe fornece uma opção nonatbibque impedirá natbibo carregamento de qualquer código relacionado. Portanto, você authoryeartambém não deve passar a opção para a classe, nem deve carregar natbiba si mesmo.

Como a classe define um authorcontador, mas parece não usá-lo, e se o fez, presumo apenas para coisas não relevantes para o uso da classe, eu o indefini para que biblatexpossa definir o seu próprio.

Então você pode simplesmente usar o biblatex apaestilo que implementa APA7. Você precisa processar o arquivo com biberem vez de bibtex. Se você carregar biblatexa natbib=trueopção, poderá continuar a usar os natbibcomandos de citação existentes, o que significa que mudar de natbibpara biblatexnão deve ser muito difícil. Esta solução foi testada levemente.

Se você não estiver disposto a usar biblatex, sua melhor opção seria carregar o apacitepacote com a natbibapaopção (ainda usando a nonatbibopção da classe) e esperar que quem verifica a conformidade de sua tese não saiba a diferença entre APA6 e 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}

informação relacionada