使用 natbib 的 \citeauthor 命令时,在引文中显示作者时出现问题

使用 natbib 的 \citeauthor 命令时,在引文中显示作者时出现问题

使用时,我无法在引文中显示作者姓名natbib。我写道

This is explained in \citeauthor{lamport94},我得到的是:

在此处输入图片描述

,我的整个代码如下:

\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}

\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\PassOptionsToPackage{square,numbers}{natbib}
 \usepackage{natbib}

\makeatother

\usepackage{babel}
\begin{document}
This is explained in \citeauthor{lamport94}.

\begin{thebibliography}{9}
\bibitem{lamport94}   Leslie Lamport,   \emph{\LaTeX: A Document Preparation System}.   Addison Wesley, Massachusetts,   2nd Edition,   1994.
\end{thebibliography}
\end{document}

我不知道出了什么问题?

注意:我使用的是 LyX。我知道线程作者未出现,但是那里没有解决方案,所以我使用\citeauthor{}而不是\citet{}

答案1

\citeauthor使用引文管理包提供的命令natbib,只有在使用作者年份样式引用方法。但是,你正在natbib使用numbers选项加载包,即你告诉它使用数字样式引證方法。

因此,如果您想使用数字样式的引文,请不要使用\citeauthor。另外:当natbib加载了numbers选项时,命令\citet将被修改为类似\cite,因此将为相关作品创建数字样式而不是作者年份样式的标注。但是,当设置选项时,\citeauthor命令不会别名为,这就是您收到所报告的错误消息的原因。\citenumbers

或者,如果您确实希望与软件包一起使用作者年份样式的引用natbib,您应该(i)不是numbers在加载包时指定选项natbib,并且 (ii) 扩充环境中的条目thebibliography以包含可选参数[Lamport (1994)],如以下修改后的 MWE 形式所示:

\documentclass{article}
\usepackage{natbib}
\begin{document}
\citeauthor{lamport94}

\citet{lamport94}

\begin{thebibliography}{9}
\bibitem[Lamport (1994)]{lamport94}Leslie Lamport,   \emph{\LaTeX: 
   A Document Preparation System}.   Addison Wesley, Massachusetts,   
   2nd Edition,   1994.
\end{thebibliography}
\end{document}

在此处输入图片描述

相关内容