使用 addbibresource 时路径中的空格导致 biber 错误

使用 addbibresource 时路径中的空格导致 biber 错误

我刚刚研究了一篇我有一段时间没有编辑过的论文,但却遇到了意想不到的参考书目问题。

我使用 Visual Studio Code 为我的参考书目构建了一个 LaTeX 文档,其中包含 Latex Workshop 插件和 Mendeley 参考文献管理器(通过) - 但我使用 TexMaker 或直接使用命令行biber也得到了同样的结果。latexmk

总体而言,Mendeley(在 Win10 上)运行良好,保持my.bib最新状态,格式正确。以前我一直保留默认安装,因此它往往会将自己塞入带有空格的目录中,例如:

C:/Users/User Name/Documents/Mendeley Bibtex/my.bib

我正在使用 Biber ,因此我通过以下方式biblatex添加文件:.bib

\addbibresource{"C:/Users/User Name/Documents/Mendeley Bibtex/my.bib"}

... 使用双引号通常没问题(我们希望路径中的两个空格都被转义)。但是,我现在收到一条错误,Biber 找不到该文件,即:

INFO - Looking for bibtex format file 'C:/Users/User\ Name/Documents/Mendeley Bibtex/my.bib' for section 0       
ERROR - Cannot find 'C:/Users/User\ Name/Documents/Mendeley Bibtex/my.bib'!

这表明它得到了正确的管理/User\ Name/,然后可能在空间上绊倒了/Mendeley Bibtex/

当我my.bib直接进入包含 latex 文件的目录并重定向时,\addbibresource它会找到它(尽管这意味着要更改我的 Mendeley 设置),所以我想知道这是否是一些简单的错误,忘记了在工作路径中转义第二个空格。建议去哪里找?

答案1

Biber 2.14 有一个错误,意味着.bib在 Windows 上找不到带有空格的文件,并且带有两个以上空格的文件无法正确匹配,这意味着它们在任何操作系统上都找不到。

此错误已报告于https://github.com/plk/biber/issues/308并很快解决了问题。带空格的文件名在 Biber 2.15 中可以正常工作。

更新您的 TeX 系统并确保您至少biblatex安装了 Biber 2.15(和 3.15a)。

如果您使用无法正确处理空格的旧版 Biber,唯一可靠的解决方法是使用不带空格的文件名。这绝对是最佳实践,因为几个命令行工具在处理文件名中的空格时存在问题。但在 LaTeX 世界中,大多数工具现在应该能够很好地处理空格。

相关内容