Tex-Editors 和 Biber/Biblatex 的引擎

Tex-Editors 和 Biber/Biblatex 的引擎

今天我发现 biblatex、biber 或负责引用和参考书目的其他程序无法在我的 tex 文件上正常工作。我认为有两个原因:

也许我的引擎文件(我之所以称之为引擎文件,是因为它位于我的 TexShop 文件夹的引擎文件夹中)写得不好,或者无法与最新更新配合使用(如果有这样的更新……)。这是我的引擎文件:

#!/bin/tcsh

set path= ($path /usr/texbin /usr/local/bin /opt/local/bin/)
lualatex -file-line-error -synctex=1 "$1"
biber "${1:r}"

lualatex -file-line-error -synctex=1 "$1"

或者由以下错误导致:

ERROR - Error loading data source package 'Biber::Input::file::bibtex': data source /var/folders/zE/zEWMdMuCGnyHENetv8k-CU+++TI/-Tmp-/par-User/cache-5a7f3069e2a4d51fd3557003fc55ec74c554c947//inc/lib/Biber/Input/file/bibtex.dcf not found in .
Compilation failed in require at (eval 71) line 2.

看起来这个错误可能会导致问题。但是,我不知道是什么导致了错误...我没有删除任何文件(例如,bibtex.dcf,错误消息声称未找到该文件)。

我还有另外两个问题:不同的编辑器在引擎文件的外观方面是否存在差异?我使用的引擎文件可以吗?(我看不懂该文件中的任何一个字)

答案1

评论太长了,答案也差不多:

  • 你确定这是你正在使用的实际引擎吗?它应该以 开头,而#!不仅仅是!。另外,请确保你的发行版是最新的。你收到的错误看起来更像是一个biber问题。请参阅 egreg 的答案以了解解决方案。
  • 除非您安装了 MacPorts,否则您不需要它/opt/local/bin在您的路径中。(即使这样,您可能也不需要它)。
  • 这个引擎实际上不会做你想让它做的事情(即正确解析引用)。你需要另外lualatex一行来做到这一点。

我建议使用lualatexmkTeXShop 自带的引擎作为替代方案。如果它未激活,请转到~/Libary/TeXShop/Engines 并将其从Inactive文件夹移动到Engines文件夹。您需要退出 TeXShop 才能使更改生效。

然后在您的文档中您只需添加:

% !TEX TS-program = lualatexmk

并且会自动选择此引擎。您可以使用宏菜单中的程序项插入此行。

答案2

不幸的是,Biber 出现了混乱,这个消息意味着它生成的二进制文件状况不佳。

我知道解决该问题的唯一方法是打开终端并发出

rm -fr /var/folders/zE/zEWMdMuCGnyHENetv8k-CU+++TI/-Tmp-/par-User/cache-5a7f3069e2a4d51fd3557003fc55ec74c554c947

其中字符串是错误消息中/var/folder/从上到下的内容。//

这将强制 Biber 重建二进制文件。Biber 文档第 30 页提到了这一点。在不同于 Mac OS X 的系统上,字符串可能会有所不同。

注意:这件事刚才发生,当时正在测试回答。:-O

相关内容