我正在使用来自这里和iopart-num
包裹。
这是iopdebug.bib
:
@article{debugitem,
title = {This is the title},
author = {Surname, N and Lastname, F},
journal = {Journ},
volume = {123},
number = {1},
pages = {1--2},
year = {2000},
publisher = {Debugging}
}
这是最小的工作示例:
\documentclass[12pt,A4,final]{iopart}
\usepackage{iopams}
\usepackage[breaklinks=true,colorlinks=true,linkcolor=blue,urlcolor=blue,citecolor=blue]{hyperref}
\usepackage{citesort}
\begin{document}
\nocite{*}
Attempt to cite~\cite{debugitem}
\section*{References}
\bibliographystyle{iopart-num}
\bibliography{iopdebug.bib}
\end{document}
pdfLaTeX
然后我运行BibTeX
,pdfLaTeX
到目前为止一切都很正常(参考列表显示正确)。但是当我pdfLaTeX
第三次运行时,我得到:
! Missing number, treated as zero.
<to be read again>
\let
l.10 Attempt to cite~\cite{debugitem}
然而,如果\cite{debugitem}
省略则没有错误消息。
答案1
最后,你的代码中有两个错误。
首先,您使用了\bibliography
带有文件扩展名的命令.bib
。只需删除扩展名(在我的 MWE 中,我使用包filecontents
将 bib 文件和 tex 代码放在一个可编译的 MWE 中。这就是我将文件 neame 更改为 的原因\jobname.bib
)。
第二个问题是包citesort
。它似乎很旧(您使用的类也是如此)并导致您遇到的错误。只需删除它或注释它(就像我在 MWE 中所做的那样)。请注意,在您的代码中,它hyperref
应该是最后一个被调用的包。
梅威瑟:
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{debugitem,
title = {This is the title},
author = {Surname, N and Lastname, F},
journal = {Journ},
volume = {123},
number = {1},
pages = {1--2},
year = {2000},
publisher = {Debugging},
}
\end{filecontents*}
\documentclass[12pt,A4,final]{iopart}
%\usepackage{citesort} % <================================ causes error!
\usepackage{iopams}
\usepackage[%
breaklinks=true,
colorlinks=true,
linkcolor=blue,
urlcolor=blue,
citecolor=blue
]{hyperref}
\begin{document}
\nocite{*}
Attempt to cite~\cite{debugitem}.
\section*{References}
\bibliographystyle{iopart-num}
\bibliography{\jobname}% \jobname.bib <=================================
\end{document}
结果: