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 natbib
por padrão e não há implementação de APA7 disponível para natbib
. Mas a classe fornece uma opção nonatbib
que impedirá natbib
o carregamento de qualquer código relacionado. Portanto, você authoryear
também não deve passar a opção para a classe, nem deve carregar natbib
a si mesmo.
Como a classe define um author
contador, 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 biblatex
possa definir o seu próprio.
Então você pode simplesmente usar o biblatex
apa
estilo que implementa APA7. Você precisa processar o arquivo com biber
em vez de bibtex
. Se você carregar biblatex
a natbib=true
opção, poderá continuar a usar os natbib
comandos de citação existentes, o que significa que mudar de natbib
para biblatex
nã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 apacite
pacote com a natbibapa
opção (ainda usando a nonatbib
opçã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}