Como \citeauthor sem mudar para \bibliographystyle{plainnat}?

Como \citeauthor sem mudar para \bibliographystyle{plainnat}?

Sei que existem algumas dúvidas em relação a isso, mas não consegui encontrar a solução específica para esse problema: como faço \citeauthor{}, mas mantenho o estilo de citação que desejo (eu uso \bibliographystyle{ieeetr}).

Meu arquivo .tex se parece com isto:

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

\citeauthor{smith}

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

E arquivo .bib:

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

Eu recebo o (autor?) em vez de Anton.

Então, como eu manteria meu estilo de citação, mas usaria \citeauthor?

Responder1

O ieeetrestilo da bibliografia tem mais de trinta [30!] anos. Felizmente, o IEEE criou novos estilos de babadores nos últimos anos que (i) produzem mais ou menos as mesmas bibliografias formatadas e (ii) interagem bem com pacotes modernos de gerenciamento de citações, como natbib.

Em particular, se você quiser usar a \citeauthormacro do natbibpacote, você deve mudar para o IEEEtranNestilo babador. Sua saída, usando o arquivo MWE abaixo, é a seguinte:

insira a descrição da imagem aqui

Para efeito de comparação, isso é o que é produzido se o ieeetrestilo antigo de babador for usado - observe o "(autor?)" string no local onde a captura de tela acima mostra "Smith" :

insira a descrição da imagem aqui

Como você pode ver, a entrada do tipo @articleé formatada de forma idêntica em ambos os estilos de babador - a diferença está na forma como \citeauthor{smith}é processada.

Observe também que o natbibpacote deve ser carregado com a opção numbersse um dos IEEEtranXestilos de babador for empregado.

\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}

informação relacionada