我想使用顯示作者姓名\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
印出“(作者?)[21]。”
答案2
我在使用自訂生成的參考書目樣式時遇到了這個問題(使用 Patrick Daly 的自訂參考書目生成器 merlin.mbs)。解決方案(Patrick 非常有幫助地向我指出)是使用作者年份引用生成樣式,但使用 LaTeX 文件中的“numbers”選項,即在 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 參考書目對話框即可。
您應該在此處將樣式變更為 plainnat [作者年份] 或 apalike(作者年份)。然後,此引文關鍵字樣式將在文字以及參考書目部分中由\citep{}
和使用。\citet{}