如何修复 Biber/Biblatex 不兼容问题?

如何修复 Biber/Biblatex 不兼容问题?

我确实阅读了类似问题的各种答案,但它们没有帮助。

我在 Ubuntu 20.40.2 上,我使用 TexStudio 编辑/编译我的 LaTeX 文档。

我最近卸载了 TexLive,并将其重新安装在我的user目录中(我texlive-full按照找到的说明安装了(2021 版)这里)。当我尝试编译 beamer 演示文稿时,收到以下错误消息:

INFO - This is Biber 2.16
INFO - Logfile is 'presentation.blg'
INFO - Reading 'presentation.bcf'
ERROR - Error: Found biblatex control file version 3.4, expected version 3.7.
This means that your biber (2.16) and biblatex (3.10) versions are incompatible.
See compat matrix in biblatex or biber PDF documentation.
INFO - ERRORS: 1

Process exited with error(s)

然而,当我尝试更新我的软件包时tlmgr,我发现 biblatex 实际上是版本 3.16(而不是 3.10)。 我的 tlmgr1 的截图

我不知道如何开始诊断问题,如能得到任何帮助我将不胜感激。

答案1

如果您的 TeX 发行版的包管理器(tlmgr或 MikTeX 控制台)报告和 Biber 的版本匹配,而在删除临时的、和文件biblatex后仍然得到版本不匹配的信息,那么很有可能您的机器上有多个竞争版本的 Biber 或。.aux.bbl.bcfbiblatex

在您的机器上查找 Biber 的所有竞争版本, 类型

which -a biber

在 Unixoid 系统上

where biber

在 Windows 上。

这应该会返回您机器上找到的所有 Biber 版本的路径。如果不同路径中有多个不同的 Biber,请检查其中一个是否是旧安装的残留。同时将输出与which -a pdflatex/的结果进行比较where pdflatex

biblatex查找计算机上的所有竞争版本, 类型

kpsewhich -all biblatex.sty

kpsewhich理想情况下, for返回的路径biblatex.sty应该与 Biber 的路径兼容:它们应该位于同一子树中,例如/home/VBtheHun/texlive/2021/C:\Program Files\MiKTeX


正如评论中所讨论的,事实证明,本地安装的过时版本biblatex掩盖了与 Biber 版本相匹配的系统安装版本。

kpsewhich -all biblatex.sty

/home/VBtheHun/texmf/tex/latex/biblatex/biblatex.sty
/home/VBtheHun/texlive/2021/texmf-dist/tex/latex/biblatex/biblatex.sty

其中第一个文件是 v3.10 的本地安装biblatex,第二个文件是当前 v3.16 的系统控制安装。

完全删除本地安装biblatex,即删除

/home/VBtheHun/texmf/tex/latex/biblatex

解决了问题。

值得一看的是还有哪些其他软件包

/home/VBtheHun/texmf

并屏蔽系统范围内安装的同一软件包的较新版本。

相关内容