我知道与此相关的几个问题,但我找不到专门针对此类问题的解决方案:我该如何做\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
,则应切换到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}