如何在不切换到 \bibliographystyle{plainnat} 的情况下使用 \citeauthor?

如何在不切换到 \bibliographystyle{plainnat} 的情况下使用 \citeauthor?

我知道与此相关的几个问题,但我找不到专门针对此类问题的解决方案:我该如何做\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已有三十多年历史。幸运的是,IEEE 近年来推出了更新的参考书目样式,这些样式 (i) 或多或少可以生成相同格式的参考书目,并且 (ii) 可以与现代引文管理软件包(例如)很好地交互natbib

特别是,如果您希望能够使用包\citeauthor的宏natbib,则应切换到IEEEtranNbib 样式。使用下面的 MWE 文件,其输出如下:

在此处输入图片描述

为了进行比较,这是使用古代围兜样式时产生的结果ieeetr- 注意“(作者?)”字符串替换上面截图中显示“Smith”的位置:

在此处输入图片描述

如您所见,@article两种 bib 样式对类型的条目的格式完全相同 - 不同之处在于\citeauthor{smith}处理方式。

还请注意,如果采用其中一种围兜样式natbib,则包装中应该装有该选项。numbersIEEEtranX

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

相关内容