一般情况下,您不应该biblatex手动更新或 Biber。使用您的 TeX 发行版(MikTeX 及其控制台或 TeX live 及其tlmgr:我如何更新我的 TeX 发行版?)来安装和更新软件包。

一般情况下,您不应该biblatex手动更新或 Biber。使用您的 TeX 发行版(MikTeX 及其控制台或 TeX live 及其tlmgr:我如何更新我的 TeX 发行版?)来安装和更新软件包。

我在 Ubuntu 12.10 下使用 TeXLive 2012。我想将 biblatex 升级到最新版本 (2.3)。我尝试了以下操作:

  1. 下载并解压 .tar.gz https://github.com/plk/biblatex/downloads
  2. 将内容放入本地 TeX 树 /usr/local/texlive/texmf-local 中:
    • 将 ./tex/latex/biblatex 放入 /usr/local/texlive/texmf-local/tex/latex
    • 将 ./bibtex 放入 /usr/local/texlive/texmf-local (替换那里现有的“bibtex”)
  3. mktexlsr (即 texhash)

在整理资料的时候,突然发现:

/usr/local/texlive/2012/../texmf-local/tex/latex/biblatex/biblatex.sty:87: Miss
ing number, treated as zero.
<to be read again> 
                   D
l.87 

? 

我重新检查了 README,发现我已安装所有其他必需(和强烈推荐)的软件包。biblatex 的升级是如何正确完成的?

答案1

  1. SourceForge下载biberv.1.4 (http://sourceforge.net/projects/biblatex-biber/
  2. SourceForge下载biblatexv.2.4。(http://sourceforge.net/projects/biblatex/
  3. 创建两个临时目录:mkdir tempbb && mkdir tempbl
  4. 解压biber-linux_x86_32.tar.gz到临时目录:tar -zxvf biber-linux_x86_32.tar.gz -C tempbb/
  5. 解压biblatex-2.4.tds.tgz到临时目录:tar -zxvf biblatex-2.4.tds.tgz -C tempbl/
  6. tempbl将临时目录中的文件内容移动/usr/local/texlive/2012/texmf-dist/到:sudo rsync -azvv tempbl/ /usr/local/texlive/2012/texmf-dist/
  7. biberbin 从临时目录 移至/usr/local/texlive/2012/texmf-dist/sudo rsync -azvv tempbl/ /usr/local/texlive/2012/bin/i386-linux/
  8. 跑步mktexlsr
  9. 测试一切是否正常工作。

答案2

这只是对 NVaughan 答案的修改;

sudo apt-get install texlive-full
sudo apt-get remove biber
sudo apt-get remove biblatex
mkdir tempbiber
mkdir tempbiblatex
tar -zxvf biber-linux_x86_64.tar.gz -C tempbiber/
tar -zxvf biblatex-2.8a.tds.tgz -C tempbiblatex/
sudo rsync -azvv tempbiber/ /usr/bin/
#sudo rsync -azvv tempbiblatex/ /usr/share/texlive/texmf-dist/
sudo rsync -azvv tempbiblatex/ /usr/local/share/texmf/

使用 来编译文档biber

pdflatex texDocumentName
biber texDocumentName
pdflatex texDocumentName

答案3

由于这个问题似乎很受欢迎,所以我要添加另一个答案。

一般情况下,您不应该biblatex手动更新或 Biber。使用您的 TeX 发行版(MikTeX 及其控制台或 TeX live 及其tlmgr我如何更新我的 TeX 发行版?)来安装和更新软件包。

手动更新的问题不仅在于biblatex和 Biber 的版本需要完全匹配,而且 还biblatex对其他软件包有(诚然较温和的)依赖关系(而这些软件包本身可能也有依赖关系)。因此,您永远无法确定只需要更新biblatex和 Biber,您可能还需要更新、etoolbox和一些其他软件包。反之亦然,依赖于 的软件包也可能需要更新。这可能意味着您需要更新的软件包远不止和 Biber。babelxstringbiblatexbiblatex

如果您让您的 TeX 发行版为您解决这个问题,那么您获得真正可以一起工作的软件包版本的机会就会高得多。

如果你的 TeX 发行版不再提供更新(vanilla TeX live 每年都会冻结,请参阅为什么 TeX Live “要求”每年更新?并且许多 Linux 发行版的存储库中附带的 TeX live 处于冻结状态,并且通常在发布时已经落后几个月),您应该考虑更新整个 TeX 发行版。如果您想在软件存储库中带有 TeX live 的 Linux 机器上获取最新更新,您可能需要安装“vanilla”TeX live:如何在 Debian 或 Ubuntu 上安装“原始” TeXLive?。升级到新的 TeX live 的优点是旧安装通常可以与新安装共存,因此如果出现问题,您有一个备份系统。

因此重申:不要biblatex手动更新或 Biber


如果您必须手动更新这两个软件包,请准备好更新许多其他软件包。通常,您应该会收到有意义的错误或警告,它们可以提示您哪些软件包需要更新,但您永远无法确定(例如,某些较低级别的etoolbox更改可能会产生无法真正指向的神秘错误消息etoolbox,例如biblatex 一夜之间坏了)。

相关内容