我使用的是 SublimeText3、Biblatex (v2.8a) 和 Biber (v1.8)。过去我曾多次成功编制了参考书目和引文。在将我的文档切换到模块化设计后,即使删除模块并恢复为 MWE,参考书目仍然不会出现(如下所示)。我得到的是流行的 [Long1997 ] 之类的引文,而不是1。
我没有更改我的前言、构建顺序或软件包安装。我只添加了内容。我的调试过程:
- 已选中
main.log
(这里) 和main.bbl
。 中的“缺少‘biblatex’包”bbl
。 中出现以下错误.log
:
Package biblatex Warning: Please (re)run Biber on the file: (biblatex) first (biblatex) and rerun LaTeX afterwards.
- 再次检查了之前成功编译的序言。看起来不错。
- 再次检查 biblatex 是否仍然安装。确实如此。
- 再次检查了之前有效的号码布条目。看起来不错。
- 再次检查了之前有效的构建顺序。看起来不错。
- 让朋友再检查一下。没有异议。
我错过了什么?
main.tex
:
\documentclass{report}
\usepackage[style=numeric,backend=biber]{biblatex}
\addbibresource{nbabib.bib}
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}
\begin{document}
asdf \cite{Long1997}
\nocite{*}
\printbibliography
\end{document}
nbabib.bib
:
@BOOK {Long1997,
AUTHOR = {Long, Scott},
TITLE = {Regression Models for Categorical and Limited Dependent Variables},
PUBLISHER = {Potomac Books},
ADDRESS = {Dulles, Virginia},
YEAR = {2004}}
我的构建文件,LaTeX.sublime-build
:
"cmd": ["latexmk",
"latexmk",
"biber",
"latexmk",
"-cd",
"-e",
"\\$pdflatex = '%E -interaction=nonstopmode -synctex=1 %S %O'",
//"-silent",
"-f", "-pdf"],
更新:
- 由于与 \usepackage{biblatex} 不兼容,删除了冲突的 \usepackage{cite}。
- 通过 Tex Live Utility 更新所有软件包。
答案1
找到问题所在了。我向 .bib 添加了字段之间缺少逗号的条目。替换缺少的逗号后,编译成功,引用显示为 [1]、[2] 等,而不是 [标签]。我看到网上有很多 tex.SO 主题/其他文章,标题为“缺少参考书目”,与 Biblatex 和 biber 的使用有关。如果您使用这两个软件包,新手可以使用以下通用调试过程(在 Google 上搜索您不认识的术语或参考您的 TeX 文本):
- 检查 main.log 和 main.blg。Biber 能否找到您的 bib(即“找到 BibTeX 数据源‘pathhere/main.bib’”)
- 检查你的前言。语法错误?软件包是否相互兼容?
- 检查 bib 文件中的所有条目。如果 .bib 中的任何条目语法不正确,编译将失败。即使您尝试引用的特定条目可能是正确的。最佳实践可能另有规定,但您可以在条目的最后一个字段后使用逗号,空白字段(例如 YEAR = {})不会阻止编译。Biber 将删除此类空条目。除非您的某个模块语法不寻常,否则调制(将较长的 main.tex 分成多个 .tex 文件)不应导致参考书目出现问题。
- biblatex 和 biber 软件包是否已安装?在 Mac 上,您可以通过访问“Tex Live Utility”并单击“软件包”来检查。您还可以尝试通过单击“更新”来更新已安装的软件包。
- 构建顺序。您的文档必须在 main.tex 上调用序列 pdflatex->biber->pdflatex->pdflatex 来构建文档。在我的例子中,默认的 ST3 LaTeXTools 构建使用了“latexmk”,它调用了 pdflatex。
- 在这里搜索。用 Google 搜索你的错误关键字。询问朋友。在 IRC 聊天室 #latex 中询问。
- 在这里问。
*TeXperts 备注:请随意编辑。我还在学习 TeX-speak。