某些样式对于 Lyx 的 BibTeX 生成的参考书目来说可以正常工作,但其他样式则会出现错误。例如,如果我将样式设置为 IEEEtran,则一切正常。但是,如果我将其设置为 apsrev,则会得到如下输出:
Runaway argument?
{{72} (\bibinfo {year}{{2012}}), ISSN \bibinfo {issn}{{0002-9505}}. \par \ETC.
! File ended while scanning use of \@firstofone.
<inserted text>
\par
l.397 ...Interference-Diffraction_Project_AJP_bib}
I suspect you have forgotten a `}', causing me
to read past where you wanted me to stop.
I'll try to recover; but if the error is serious,
you'd better type `E' or `X' now and fix your file.
Class revtex4 Warning: Endnote numbers changed: rerun LaTeX.
! LaTeX Error: \begin{thebibliography} on input line 1 ended by \end{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.399 \end{document}
Your command was ignored.
Type I <command> <return> to replace it with another command,
or <return> to continue without it.
有什么想法我应该做什么吗?
谢谢。
编辑:
这是有问题的最小 lyx 文件。普通版可以工作,但设置为普通版则不行。我使用的是最新版本的 MacTex;我昨天下载了它。
答案1
您的bib.bib
文件很乱。这不是您的错——这些书目条目是从网站(例如 JSTOR)获得的。但是,您应该清理它们。否则某些书目样式会遇到问题。不同的书目样式会有不同的反应,因为它们使用不同的字段,并且以不同的方式使用这些字段。我用一个只包含第一个条目的清理版本的文件测试了您的.lyx
文件:.bib
@article{Young1802,
title = {An Account of Some Cases of the Production of Colours, not Hitherto Described},
author = {Young, Thomas},
journal = {Philosophical Transactions of the Royal Society of London},
volume = {92},
number = {},
pages = {pp. 387-397},
language = {English},
year = {1802},
publisher = {The Royal Society}
}
一切运行正常。因此,请清理您的条目.bib
并逐个添加新条目,以确保您可以找出导致问题的条目。
还请注意,以下内容,“与”符号可能应该被转义(在它们前面加上反斜杠):
publisher = {Taylor & Francis, Ltd.},
copyright = {Copyright © 2005 Taylor & Francis, Ltd.}