问题:
我最近一直在使用 Overleaf 来避免兼容性问题,但他们最近的更新意味着我无法出于某种原因使用 biber 文件。我回到了我的 mac 版本,并使用升级了 TexLive
sudo tlmgr 更新--self--all
以防万一。一切顺利。
运行以下测试文件:
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\addbibresource{test.bib}
\begin{document}
I doubt that there is any useful information here~\cite{wikibook}.
~\cite{wombat2016}.
~\cite[9]{lion2010}.
\printbibliography
\end{document}
使用 TeXshop 或行命令的简单 bib 文件会产生以下问题:
0] Config.pm:304> INFO - This is Biber 2.14
[0] Config.pm:307> INFO - Logfile is 'test.blg'
[91] biber-darwin:322> INFO - === Wed Jan 8, 2020, 16:05:07
[103] Biber.pm:415> INFO - Reading 'test.bcf'
[120] Utils.pm:320> ERROR - Error: Found biblatex control file version 1.6, expected version 3.7.
This means that your biber (2.14) and biblatex () versions are incompatible.
See compat matrix in biblatex or biber PDF documentation.
[120] Biber.pm:132> INFO - ERRORS: 1
我浏览了几个小时的留言板。bibtex 文件和 biber 不兼容。遗憾的是,我尝试使用 tlmgr [使用卸载和安装] 更新 bibtex,但无法实现:
texlive % sudo tlmgr uninstall bibtex
tlmgr: saving backups to /usr/local/texlive/2019/tlpkg/backups
tlmgr: not removing bibtex.x86_64-darwin, needed by bibtex
tlmgr: not removing bibtex, needed by collection-basic
tlmgr: no packages removed.
tlmgr: action remove returned an error; continuing.
tlmgr: An error has occurred. See above messages. Exiting.
进一步的侦查似乎表明这里的 bibtex 文件存在问题:
/usr/local/texlive/texmf-local/tex/latex/biblatex/biblatex.sty
该文件看起来有些旧了:
% $Id: biblatex.sty,v 1.6 2011/07/29 19:21:28 lehman stable $
% Copyright (c) 2006-2011 Philipp Lehman.
%
% Permission is granted to copy, distribute and/or modify this
% software under the terms of the LaTeX Project Public License
% (LPPL), version 1.3.
%
% The LPPL maintenance status of this software is
% 'author-maintained'.
%
但似乎没有办法安装该特定套件。
当我尝试更新 texlive 时,它告诉我它已更新完毕。但显然不是!
我也尝试过删除文件/usr/local/texlive/texmf-local/tex/latex/biblatex/biblatex.sty
并调用 tlmgr,但它认为一切都安装正常,所以这不起作用。
我现在已经花了大约 4 个小时来解决这个问题。希望你们这些聪明人能帮忙报告 biblatex.sty 文件,因为它似乎是错误的。
谢谢。
答案1
一般来说,除非你知道自己在做什么,否则你不需要在你的texmf-local
目录中有文件。TeX 程序会按照从最本地到最不本地的顺序搜索文件(大致:本地目录 < 用户级别texmf
< texmf-local
< texmf-dist
),本地文件将优先于分发级别文件。
在某些时候,您可能已将其安装biblatex
到texmf-local
文件夹中。对于任何属于常规发行版的软件包,这几乎肯定是一个坏主意,因为本地版本将被加载,并且不会受到更新的影响(正如您所发现的)。
因此您可以安全地将其从那里删除,问题应该会消失。通常,您不需要在其中放置任何内容texmf-local
,对于自定义包,通常最好使用用户级本地texmf
文件夹(~/Library/texmf
在 Mac 上;~/texmf
在 Linux 上)。