我想使用 显示作者姓名\citet
,但我只得到参考编号。以下是一段最简洁的代码:
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{natbib}
\begin{document}
The author \citet{toschi09} has shown that ..
\bibliographystyle{plain}
\bibliography{foo}
\end{document}
这是 foo.bib
@article{toschi09,
author = {Toschi, F. and Bodenschatz, E.},
title = {Lagrangian Properties of Particles in Turbulence},
journal = {Annual Review of Fluid Mechanics},
volume = {41},
number = {1},
pages = {375-404},
year = {2009},
}
我得到的是:
作者(作者?)[1] 已经表明..
任何帮助都将受到欢迎,谢谢!
答案1
书目样式plain
仅适用于数字引用,而\citet
仅适用于作者年份引用。使用natbib
自己的版本plain
,称为plainnat
,就可以了。即更改为
\bibliographystyle{plainnat}
这实际上已记录在natbib
手册第 7 页:
只有当文件支持作者-年份引用时,才能列出作者
.bst
。标准 .bst 文件(例如)plain.bst
仅包含数字,不会将作者-年份信息传输到 LaTeX。在本例中,\citet
打印“(author?) [21]”。
答案2
我在使用自定义生成的参考书目样式(使用 Patrick Daly 的自定义参考书目生成器 merlin.mbs)时遇到了这个问题。解决方案(Patrick 向我指出的非常有帮助)是使用作者年份引用生成样式,但使用 LaTeX 文档中的“数字”选项,即在 merlin.mbs 生成的 .dbj 文件中,取消注释该行
ay,%: Author-year
并在 .tex 文件中指定
\usepackage[numbers]{natbib}
答案3
对于那些也对此类问题感到困惑的人:请检查 cite 命令中是否应该有空格。您应该写\cite{aa,bb,cc}
而不是\cite{aa, bb, cc}
。
答案4
为了山猫用户,请记住,Lyx 书目设置在两个地方配置:
文档 / 设置 / 参考书目
单击Document
/ Settings
/Bibliography
打开此配置对话框:
您可以在此处将引用样式格式设置为 natbib 作者年份。
BibTex 书目对话框
首次编辑时,单击Insert
/ List TOC
/Bib(la)Tex Bibliography
将此对话框插入到文档末尾。以后编辑时,只需单击文档末尾的 BibTex 参考书目对话框即可。
\citep{}
您应该在此处将样式更改为 plainnat [作者年份] 或 apalike(作者年份)。然后,此引用关键字样式将由文本中的和\citet{}
以及参考书目部分使用。