Cómo utilizar la lista de referencias APA7 en un documento de clase elsevier

Cómo utilizar la lista de referencias APA7 en un documento de clase elsevier

Estoy creando mi tesis de maestría en el estilo látex elsevier.cls y acabo de descubrir que utiliza citas de estilo Harvard. Intenté adaptar mi lista de referencias al final al estilo APA7 (requisito de la universidad) pero fue en vano. ¿No es esto posible o cómo lo hago correctamente? Este es mi preámbulo y la parte en la que intento hacer la lista de referencias.

(Preferiblemente una solución que use 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}

Respuesta1

La clase Elsevier utiliza natbibde forma predeterminada y no hay ninguna implementación de APA7 disponible para natbib. Pero la clase proporciona una opción nonatbibque evitará natbibque se cargue cualquier código relacionado. Por lo tanto tampoco deberías pasar la authoryearopción a la clase, ni tampoco deberías cargarte natbib.

Debido a que la clase define un authorcontador, pero no parece usarlo, y si lo hizo, asumo que solo para cosas que no son relevantes para el uso de la clase, lo definí para que biblatexpueda definir el suyo propio.

Entonces puedes usar el biblatex apaestilo, que implementa APA7. Debe procesar el archivo en biberlugar de bibtex. Si carga biblatexcon la natbib=trueopción, puede continuar usando sus natbibcomandos de citas existentes, lo que significa que cambiar de natbiba biblatexno debería ser demasiado difícil. Esta solución se prueba muy ligeramente.

Si no está dispuesto a usarlo biblatex, su mejor opción sería cargar el apacitepaquete con la natbibapaopción (aún usando la nonatbibopción de la clase) y esperar que quien verifique el cumplimiento de su tesis no pueda notar la diferencia entre APA6 y 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}

información relacionada