环境

环境

我知道,这个问题很可能有据可查,以前也问过,所以我可能只是对这个问题的大量可用信息感到不知所措。我正在尝试安装 BibLaTeX 的开发版本(和 biber)。(从某种意义上说,这是我的先前的问题)。

环境

  • 微特克斯
  • Windows 10

我做了什么:

  • 步骤 0:更新 MiKTeX(作为管理员和普通用户);刷新 FNDB。
  • 步骤 1:关注这个答案,我通过创建文件localtexmfC:并运行创建了一个本地 texmf 树

    initexmf --register-root=c:\localtexmf
    initexmf --update-fndb
    initexmf --update-fndb --admin % probably irrelevant 
    
  • 第 2 步:创建C:\localtexmf\bin并将其添加到我的PATH(MiKTeX 安装文件夹之前),重新启动系统。
  • 步骤 3:下载 biber 的二进制开发版本来自 Sourceforge并提取biber.exeC:\localtexmf\bin。(+更新了FNDB。)

这似乎已经成功了;当我在我的文档上运行 biber 时,它报告

信息 - 这是 Biber 2.7(测试版)

有问题的部分是让 BibLaTeX 的开发版本运行,这应该在这个答案。 但是,那BibLaTeX 的开发版本不能作为dtx/ insbundle 使用,只能作为tgz或 使用tds.tgz。在链接的答案中, 上的说明tds.tgz只是“检查 README 文件”和“将其提取到正确的位置”。我试图找到“正确的位置”,但没有任何成功:

  • 步骤 4a:下载biblatex-3.7.tds.tgz并提取biblatex-3.7.tds.tgz/biblatex-3.7.tds.tar/到新的本地树。更新了 FNDB。结果:无法识别新版本(仍使用版本 3.6) 复制
  • 步骤 4b:尝试按照 README(包含在存档中)中的“半自动安装”部分进行操作tgz。这指的是一个.tds.zip我认为与我的.tds.tar文件相同的文件。然后,4b 归结为我在 4a 中所做的操作。
  • 步骤 4c:尝试按照 README 中的“手动安装”部分进行操作。这指的是一个.tar.gz我认为与我的.tgz文件相同的文件。按照 README 中所述提取文件(步骤 3-5 和 7)并更新 FNDB 具有与 4a 相同的效果。
  • 步骤 4d:类似于步骤 4a,我尝试提取biblatex-3.7.tgz/biblatex-3.7.tar到本地树(带有和不带有封闭biblatex文件夹),但没有效果。

每次我安装/尝试安装新版本的 BibLaTeX 时,我都会删除上次运行 LaTeX 时创建的所有中间文件(以避免使用旧bcf文件)。我想我的目录结构有误,或者我下载了错误的档案。biber 抛出的完整错误消息是:

信息 - 正在读取“document.bcf”

错误 - 错误:发现 biblatex 控制文件版本 3.2,预期版本 3.3。这意味着您的 biber (2.7) 和 biblatex (3.6) 版本不兼容。

知道版本不兼容,但是如何安装 BibLaTeX 3.7(当前开发版本)?


更新:非常有帮助Ulrike Fischer 的评论让我意识到我的根的排序方式有问题:kpsewhich --all biblatex.sty将我的根作为第二个返回C:\localtexmf,排在 MiKTeX 维护的根之后C:\Users\...。但是,在 MiKTeX 选项中,我无法将本地树向上移动(按钮变灰)。根据错误 #1952这是设计使然,但我不明白如何使用本地树。(我以非管理员身份添加了树,并尝试以非管理员身份移动它。我还尝试以管理员身份移动它,或者以管理员身份添加然后移动它。)

树木

答案1

总而言之,这是我的系统上所需的步骤:

  • 创建本地 texmf 树要点是,创建文件夹C:\localtexmf和子文件夹tex,然后运行

    initexmf --register-root=c:\localtexmf
    initexmf --update-fndb
    
  • 打开 MiKTeX 选项并转到“Roots”选项卡。选中“显示 MiKTeX 维护的根目录”框。您的本地树应该是“用户安装”。

    1. 如果您当地的树木在“UserInstall”之前,您可以跳到下一个要点。
    2. 如果您可以使用“向上”按钮将本地树移动到“UserInstall”之前,那么请这样做。
    3. 否则,你的设置可能看起来像这样即“UserInstall”和“UserConfig”指向同一路径。在这种情况下,您需要分离“UserInstall”和“UserConfig”。为此,设置一个MIKTEX_USERINSTALL指向新“UserInstall”路径的环境变量。我选择了C:\Users\CL\AppData\Roaming\MiKTeX\2.9\install
    4. 运行initexmf --update-fndb --verbose。现在,本地 texmf 目录应该列在 UserInstall 之前,但在 UserConfig 和 UserData 之后。
    5. 运行kpsewhich --all biblatex.sty。这可能会指向 UserConfig 树中的一个文件(在我的情况下:C:\Users\CL\AppData\Roaming\MiKTeX\2.9\tex\latex\biblatex)。我认为情况不应该如此,但这是事后分离 UserConfig 和 UserInstall 的产物。删除该biblatex目录并更新 FNDB。
  • 下载Sourceforge 的 BibLaTeX 开发版本. 选择带有扩展名的文件tds.tgz(例如biblatex-3.7.tds.tgz)。

  • 打开tds.tgz文件。它包含一个tds.tar文件。将文件内容复制tds.tar到本地 texmf 目录: 复制文件
  • 运行initexmf --update-fndb --verbose然后kpsewhich --all biblatex.sty。这应该指向biblatex.sty您本地的 texmf 目录。
  • 不要忘记使用匹配(开发)版本的 biber。

第二个要点下第 5 步的备注。由于本地 texmf 树优先于 UserInstall(如果正确设置了 MiKTeX),因此在将新版本复制到本地 texmf 树之前,通常不需要删除包的旧/稳定版本。第biblatex5 步需要删除目录的原因是因为在分离 UserInstall 和 UserConfig 后,文件(错误地?)仍保留在 UserConfig 中。分离树后安装的包最终会进入 UserInstall,当要使用本地树中的另一个版本时,无需手动删除。

Christian Schenk 建议在分离树时将 UserConfig 的内容移动到 UserInstall。这应该会使删除biblatex文件夹变得过时。

相关内容