我收到“存在未定义的引用”错误,尝试了两天后仍无法修复。我尝试在 Mac 上将编辑器从 Sublime Text 3 切换到 TeXStudio,然后在 PC 上尝试两者。此时我愿意尝试任何方法。
我的test.tex
文件:
\documentclass{article}
\usepackage[style=numeric,backend=biber]{biblatex}
\addbibresource{\Username\Dropbox\test.bib}
\begin{document}
Hello\cite{greenwade93}.
\printbibliography
\end{document}
我的test.bib
文件:
@ARTICLE{greenwade93,
author = "George Greenwade",
title = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})",
year = "1993",
journal = "TUGBoat",
volume = "14",
number = "3",
pages = "342--351"
}
pdf 显示:你好[greenwade93]
TeXStudio 日志显示以下错误:
"Citation 'greenwade93' on page 1 undefined.
"Empty bibliography"
"There were undefined references"
"Please (re)run Biber on the file:(biblatex)test(biblatex) and rerun LaTeX afterwards.
我读过关于编译技巧的文章,但我不知道如何在 SublimeText 或 TexStudio 中做到这一点。我不知道如何使用命令行。我遇到了很多问题,走了许多弯路,导致其他问题。我不知所措。有人能给我一些提示或关键字来解决这些问题吗?或者一个完整的解决方案?我甚至无法得到一个最小的工作示例。我会安装任何东西。
答案1
TeXstudio 的构建过程(“构建和查看”)默认运行 pdfLaTeX,但不运行参考书目工具,您需要单独执行此操作。还需要更改设置以运行 Biber 而不是 BibTeX 来创建参考书目。因此所需的步骤如下:
在 TeXstudio 偏好设置中(Mac 上的“偏好设置...”)或Windows 上的“选项 -> 配置 TeXstudio”),选择“构建”选项卡,将“默认书目”更改为“Biber”。保存并关闭首选项。
从“工具”菜单运行“构建和查看”(或按两个绿色箭头图标),这将创建一个 PDF,但参考书目尚未完成
从“工具”菜单运行“参考书目”。
再次运行“构建和查看”:参考书目将出现在 PDF 中。
正如评论中所述,可以在其他方式达到同样的效果。关键是你必须确保是一个序列
- 乳胶
- 比贝尔
- 乳胶
可以“手动”完成(就像我所做的那样),也可以通过各种方式自动完成。请注意,无论使用哪种编辑器,都适用相同的一般思想:这是 LaTeX 的功能,而不是编辑器的功能。
关于文件路径的问题(一个单独的问题),最好不要包含任何路径,而是将文件放在.bib
可以“找到”的位置:当前目录或 TeX 自动搜索的某个地方。这是一个单独的问题,所以我假设一个演示文件读取:
\documentclass{article}
\begin{filecontents*}{\jobname.bib}
@ARTICLE{greenwade93,
author = "George Greenwade",
title = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})",
year = "1993",
journal = "TUGBoat",
volume = "14",
number = "3",
pages = "342--351"
}
\end{filecontents*}
\usepackage[style=numeric,backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
Hello\cite{greenwade93}.
\printbibliography
\end{document}
将 BibTeX 数据库“汇总”到 LaTeX 源中。
答案2
为了解决 Sublime Text 3 中的相同问题:
打开 LaTeX.sublime-build 文件。转到
/User/username/Library/Application Support/Sublime Text 3/Packages/LaTeXTools/LaTeX.sublime-build
。如果找不到 Library 文件夹,则可能需要取消隐藏它。在终端中输入以下内容:chflags nohidden ~/Library
。输入chflags hidden ~/Library
以重新隐藏。在文件顶部附近的“osx”下找到以下代码块:
"cmd": ["latexmk", "-cd", "-e", "\$pdflatex = '%E -interaction=nonstopmode -synctex=1 %S %O'", //"-silent", "-f", "-pdf"],
使其看起来像这样(仅添加 3 行):
"cmd": ["latexmk", "latexmk", "biber", "latexmk", "-cd", "-e", "\$pdflatex = '%E -interaction=nonstopmode -synctex=1 %S %O'", //"-silent", "-f", "-pdf"],
使用相同的 LaTeXTools 系统进行构建。现在应该按顺序运行、、、。参考书目应该
pdflatex
可见!biber
pdflatex
pdflatex
相关文章:PDF 中缺少参考书目(Sublime Text 2 和 Miktex)
更新:
上述对 sublime-build 文件的修改源自一篇博客。它使我的参考书目能够编译,并防止出现未定义的引用。但是,我今天通过 TeXLiveUtility 更新了我的所有软件包,恢复到默认的 sublime-build 文件调用“latexmk”一次,并顺利编译了可用的参考书目和引用。
答案3
正如其他人已经发现的那样,问题在于 BibTeX/BibLaTeX 没有运行。最简单的解决方案是使用 Texlipse(LaTeX Eclipse 插件)。它具有默认流程:
- 乳胶
- BibTeX/Biber(取决于您在包含包时指定的后端)
- 乳胶
- 乳胶
这应该适合所有情况。默认情况下,每次保存更改时都会执行此操作。
答案4
&
对我来说,问题在于我的参考文献中有一个符号:
...
journal = {Information Processing & Management},
...
我通过转义符号解决了该问题:\&