我正在努力学习 BibTex,我想在这个论坛上发布一个问题。
这既滑稽又悲惨,但我甚至连举一个简单的工作例子来证明我的问题都遇到了困难。
我试过:
\documentclass[journal, a4paper]{IEEEtran}
\begin{document}
\section{Introduction}
Citation\cite{IEEEhowto:IEEEtranpage}
\bibliographystyle{IEEEtran}
\bibliography{IEEEexample}
\end{document}
但我收到此错误信息:
(./example.bbl
! LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.24 \end{thebibliography}
我应该添加什么BibTex例如至少可以编译?
答案1
让我们检查\bibliography
一下latex.ltx
:
\def\bibliography#1{%
\if@filesw
\immediate\write\@auxout{\string\bibdata{#1}}%
\fi
\@input@{\jobname.bbl}}
\bibliography{IEEEexample}
对于像inside这样的调用example.tex
,它会写入\bibdata{IEEEexample}
(example.aux
如果你这样做了不是调用\nofiles
),并尝试包含example.bbl
。如果example.bbl
因任何原因 (以前的编译不包含任何参考书目条目、可能已损坏或完全是其他原因) 出现故障,则此时可能会导致错误。这里最好的 (也是最容易的) 解决方案是重新开始并删除example.bbl
。
\@input@
将处理此删除,因为它被定义为
\def\@input@#1{\InputIfFileExists{#1}{}{\typeout{No file #1.}}}
仅当文件存在时才包含它,否则它只会向终端打印一条消息,提示该文件不存在(不会产生错误)。