使用时,我无法在引文中显示作者姓名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
命令不会别名为,这就是您收到所报告的错误消息的原因。\cite
numbers
或者,如果您确实希望与软件包一起使用作者年份样式的引用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}