我将 LaTexila 与 latexmk、pdflatex 和 bibtex 一起使用。
但是:编译有时会失败,显然是因为我插入了引用。下面的示例完全破坏了编译,我不知道为什么。
\citep{moebius_2011}
我的 bib 文件中有以下条目。bib 条目来自 Zotero。
@book{moebius_2011,
address = {Wiesbaden},
title = {Kultur - Theorien der Gegenwart},
isbn = {3531167758 9783531167756},
language = {German},
publisher = {{VS}, Verlag für Sozialwissenschaften},
author = {Moebius, Stephan},
year = {2011}
}
如果我注释掉引用,一切就都正常了。
以下是相关的文档类别:
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{jurabib}
\usepackage{pdfpages}
\usepackage{microtype}
加上参考书目的命令:
\bibliographystyle{jurabib}
错误日志中的相关行应为:
! Missing number, treated as zero.
<to be read again>
\l@German
l.99 {{Moebius}{Stephan}{S.}{}{}} {} {}
\bibAnnoteFile {moebius_2011}
?
! Emergency stop.
<to be read again>
\l@German
l.99 {{Moebius}{Stephan}{S.}{}{}} {} {}
\bibAnnoteFile {moebius_2011}
End of file on the terminal!
完整版日志请见此 Pastebin关联
答案1
你的错误在于你German
在条目中使用了语言bib
。你必须使用一种babel
你知道的语言。在你的情况下:(german
旧拼写)或ngerman
(新拼写)。
以下 MWE 为我编译(下次在这里询问时请使用类似的 MWE):
%http://tex.stackexchange.com/questions/84515/how-to-debug-citations-for-bibtex
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{moebius_2011,
address = {Wiesbaden},
title = {Kultur -- Theorien der Gegenwart},
isbn = {3531167758 9783531167756},
language = {ngerman},
publisher = {{VS}, Verlag für Sozialwissenschaften},
author = {Moebius, Stephan},
year = {2011},
}
\end{filecontents*}
\documentclass[12pt,ngerman]{scrartcl} % paper=a4 Voreinstellung
\usepackage[utf8]{inputenc}
\usepackage{babel} % load before jurabib!
\usepackage{jurabib}
\begin{document}
Here is a citation~\cite{moebius_2011}.
Here is citep~\citep{moebius_2011}.
\bibliographystyle{jurabib}
\bibliography{\jobname}
\end{document}
查找此错误的提示来自您发布的错误消息,请参阅部分:\l@German
。来自文件中的German
条目。未定义,但或定义为数字。这就是您收到错误消息的原因:language
bib
\l@German
\l@german
\l@ngerman
! Missing number, treated as zero.
据我所知,它jurabib
不再维护,所以您应该考虑更改为biblatex
和biber
(已在@Timothée Poisot 的评论中提到)。