如何更新 LuaTeX 二进制文件(GNU/Linux 上的 TeXLive)?

如何更新 LuaTeX 二进制文件(GNU/Linux 上的 TeXLive)?

MikTeX通过更新通道提供对最新二进制文件的访问miktex-nxt。虽然这些年来它一直只适用于 Windows,但在 2018 年,Schenk 先生似乎正在将其发行版扩展到某些 GNU/Linux 发行版。问题是我没有使用受支持的发行版之一,因此在我的 Linux 发行版上使用 TL2018。

之前有人问过更新 TL 二进制文件的问题这里对此没有提供令人满意的答案。那里唯一的答案并没有为 OP 的问题提供实际答案,而只是说建议的方法是等待 TexLive 的下一个版本。对此最接近的解释来自 Joseph Wright 的评论,他说这不是一件容易的事,而且不存在非 Windows 版本的嵌入式二进制文件。

我觉得这一切都很令人困惑。contextgarden/luatex 开发团队确实为 GNU/Linux 提供了一个二进制文件这里。这个安装有什么困难?为什么 miktex 可以做到而 texlive 不能?我正在寻找技术答案。

例如,截至今天(2018 年 8 月 31 日),最新的 luatex 版本是 1.09,但 TL 2018 附带的版本是 v1.07。查看参考手册,luatex 1.09 似乎确实表明性能有所提升。此外,还承诺推出一个新的轻量级 pdf 库。如果不想等到 TL2019 发布(将跳转到 luatex v1.10),推荐的更新方式是什么?

我之所以问这个问题,是因为我有一篇包含自定义 lua 命令的大型论文,在一台快速的机器上编译需要将近 7-8 分钟,任何可以加快速度的性能提升都是值得欢迎的。

答案1

总结发布页面我在 GitHub 上的 LuaTeX 存储库。

为您自己的 LuaTeX 分支设置 Travis CI

使用 GitHub 和 Travis CI 自己构建 LuaTeX 非常容易。

  1. 首先你需要一个 GitHub 账户,并通过访问将该账户与 Travis CI 关联https://travis-ci.org/并使用 GitHub 登录。

  2. 然后你 fork 官方 LuaTeX 镜像:https://github.com/TeX-Live/luatex/fork

  3. https://travis-ci.org/<你的用户名>/luatex并为该存储库激活 Travis CI。

  4. public_repo生成具有可见性的个人访问令牌https://github.com/settings/tokens

  5. 在“环境变量”部分中注册访问令牌https://travis-ci.org/<你的用户名>/luatex/settings以...之名GH_TOKEN

  6. 在你的 LuaTeX fork 上标记新版本https://github.com/<你的用户名>/luatex/releases/new。Travis CI 将自动构建发布并将二进制文件部署到 GitHub。

使用 Docker 在本地构建 LuaTeX

如果您不想创建 GitHub 账户,您也可以在本地构建 LuaTeX。

  1. 克隆 GitHub 存储库。

    git clone --depth 1 --single-branch https://github.com/TeX-Live/luatex
    

    该存储库非常庞大,因此我们只克隆最新的提交和单个分支。

  2. 转到克隆的目录。

    cd luatex
    
  3. 执行这些命令以避免时间戳问题。

    find . -name \*.info -exec touch '{}' \;
    touch ./source/texk/web2c/web2c/web2c-lexer.c
    touch ./source/texk/web2c/web2c/web2c-parser.c
    touch ./source/texk/web2c/web2c/web2c-parser.h
    

    否则构建将崩溃makeinfo: command not found

  4. 运行构建脚本。为此,您需要bashgccg++和。make

    ./build.sh --parallel --jit
    

    这将构建 LuaTeX 和 LuaJITTeX。二进制文件将在子文件夹中生成build/texk/web2c

    或者,如果你可以在 Docker

    docker run -e JOBS_IF_PARALLEL=`nproc --all` \
        -v `pwd`:/luatex -w /luatex -it --rm debian:jessie sh -c \
        "apt-get update; apt-get install -y --no-install-recommends bash gcc g++ make; ./build.sh --parallel --jit"
    

使用我的实验性 TeX Live 存储库

如果您想走在最前沿并始终拥有最新版本的 LuaTeX 以享受所有不错的错误和随机崩溃,您可以使用我的luatex-devTeX Live 个人存储库。有关如何安装的说明,请参阅 GitHub 页面:

https://github.com/hmenke/texlive-luatex-dev

相关内容