我在工作中使用了 natbib 包,除这一个外,所有引文都运行良好:
@article{tobin58,
author = {Tobin, James},
title = {Liquidity Preference as Behavior Toward Risk},
journal = {Review of Economic Studies},
volume = {25},
number = {2},
pages = {pp. 65--86},
year = {1958}
}
在 bbl 中这转化为:
\harvarditem{Tobin}{1958}{tobin58}
Tobin, J. \harvardyearleft 1958\harvardyearright , `Liquidity preference as
behavior toward risk', {\em Review of Economic Studies} {\bf 25}(2),~pp.
65--86.
我收到的错误是:
Package Natbib warning: citation 'tobin58' on page 5 undefined on input line 196
我认为环境设置是正确的,因为其他引用确实有效,但是我还收到 2 个错误:
File ended while scanning use of \harvarditem
我在网上收到这个错误\bibliography{BibTeX1}
LaTeX Error: \begin{thebibliography} on input line 1 ended by \end{document}
我在网上收到这个错误\end{document}
\clearpage
\bibliography{BibTeX1}
\bibliographystyle{agsm}
\clearpage
\appendix
\section{First Appendix}
Appendix
\end{document}
我的引用的语法与工作引用的语法相同,我真的找不到任何语法错误。
你能帮我吗?我需要向你提供更多信息吗?
答案1
我不清楚你得到的错误来源是什么。也许是因为你natbib
同时使用了引文管理包和agsm
,这是引文管理系统提供的书目样式harvard
。最好不要混合使用引文管理包和书目样式。如果你确实需要使用natbib
和 agsm
,您还应该加载该har2nat
包(但不要harvard
同时加载该包!)。
无论如何,假设tobin58
书目条目存储在名为的文件中tobin58.bib
,以下 MWE
\documentclass{article}
\usepackage{natbib,har2nat}
%%\usepackage{harvard}
\bibliographystyle{agsm}
\begin{document}
\citet{tobin58}
%%\citeasnoun{tobin58}
\bibliography{tobin58}
\end{document}
产生以下输出:
如果您愿意,可以注释掉与 natbib 相关的指令,并取消注释与 harvard 相关的两个指令。顺便说一句,如果您从pages
书目条目的字段中删除“pp.”,它也将从排版输出中消失。
顺便说一下,.bbl
MWE 生成的文件是这样的:
\begin{thebibliography}{xx}
\harvarditem{Tobin}{1958}{tobin58}
Tobin, J. \harvardyearleft 1958\harvardyearright , `Liquidity preference as
behavior toward risk', {\em Review of Economic Studies} {\bf 25}(2),~pp.
65--86.
\end{thebibliography}