如何在不切換到 \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已有三十 [30! ] 多年的歷史。幸運的是,IEEE 近年來提出了更新的參考書目樣式,這些樣式(i)或多或少產生相同格式的參考書目,並且(ii)與現代引文管理包(例如natbib.

特別是,如果你想能夠使用套件\citeauthor的宏natbib,你應該切換到IEEEtranNbib風格。使用下面的 MWE 文件,其輸出如下:

在此輸入影像描述

作為比較,這就是古代產生的結果ieeetr- 請注意“(作者?)" 字串位於上面的螢幕截圖顯示「Smith」的位置:

在此輸入影像描述

正如您所看到的,@article兩種圍兜樣式的類型條目的格式相同——區別在於\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}

相關內容