Как \citeauthor не переходя на \bibliographystyle{plainnat}?

Как \citeauthor не переходя на \bibliographystyle{plainnat}?

Я знаю, что есть несколько вопросов по этому поводу, но я не смог найти решение конкретно для такой проблемы: как мне сделать \citeauthor{}, но сохранить стиль цитирования, который я хочу (я использую \bibliographystyle{ieeetr}).

Мой .tex-файл выглядит примерно так:

\usepackage{natbib}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

\citeauthor{smith}

\begin{document}
    \bibliographystyle{ieeetr}
    \bibliography{References}
\end{document}

И файл .bib:

@Article{smth,
author ="Smith, Anton",
title  ="The title",
year  ="2019",
journal = "Some journal",
volume  ="1"}

Я понимаю (автор ?) вместо Антона.

Так как же мне сохранить свой стиль цитирования, но использовать \citeauthor?

решение1

Библиографическому ieeetrстилю уже более тридцати [30!] лет. К счастью, в последние годы IEEE придумал новые стили bib, которые (i) более или менее создают те же самые отформатированные библиографии и (ii) прекрасно взаимодействуют с современными пакетами управления цитированием, такими как natbib.

В частности, если вы хотите иметь возможность использовать макрос \citeauthorпакета natbib, вам следует переключиться на IEEEtranNстиль bib. Его вывод, с использованием файла MWE ниже, выглядит следующим образом:

введите описание изображения здесь

Для сравнения, вот что получится, если ieeetrиспользовать древний стиль нагрудника — обратите внимание на "(автор?)" в том месте, где на снимке экрана выше показано "Smith":

введите описание изображения здесь

Как видите, запись типа @articleформатируется одинаково в обоих стилях bib — разница лишь в том, как \citeauthor{smith}она обрабатывается.

Также обратите внимание, что natbibпакет должен быть загружен с опцией, numbersесли IEEEtranXиспользуется один из стилей нагрудника.

\RequirePackage{filecontents}
\begin{filecontents}{References.bib}
@article{smith,
author  = "Smith, Anton",
title   = "The title",
year    = "2019",
journal = "Some journal",
volume  = "1",
number  = "2",
pages   = "3--4",
}
\end{filecontents}

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

\usepackage[numbers]{natbib}
\bibliographystyle{IEEEtranN} %%% or: \bibliographystyle{ieeetr}

\begin{document}
\cite{smith}, \citeauthor{smith}    
\bibliography{References}
\end{document}

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