Как использовать список ссылок APA7 в документе класса Elsevier

Как использовать список ссылок APA7 в документе класса Elsevier

Я создаю свою магистерскую диссертацию в стиле 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можно было определить его самостоятельно.

Тогда вы можете просто использовать biblatex apaстиль, который реализует APA7. Вам нужно обработать файл с помощью biberвместо bibtex. Если вы загружаете biblatexс natbib=trueопцией, вы можете продолжать использовать существующие natbibкоманды цитирования, что означает, что переключение с natbibна biblatexне должно быть слишком сложным. Это решение очень слабо протестировано.

Если вы не хотите использовать APA6, 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}

Связанный контент