![如何更新 LuaTeX 二进制文件(GNU/Linux 上的 TeXLive)?](https://linux22.com/image/381919/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%96%B0%20LuaTeX%20%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%EF%BC%88GNU%2FLinux%20%E4%B8%8A%E7%9A%84%20TeXLive%EF%BC%89%EF%BC%9F.png)
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 非常容易。
首先你需要一个 GitHub 账户,并通过访问将该账户与 Travis CI 关联https://travis-ci.org/并使用 GitHub 登录。
然后你 fork 官方 LuaTeX 镜像:https://github.com/TeX-Live/luatex/fork
去https://travis-ci.org/<你的用户名>/luatex并为该存储库激活 Travis CI。
public_repo
生成具有可见性的个人访问令牌https://github.com/settings/tokens在“环境变量”部分中注册访问令牌https://travis-ci.org/<你的用户名>/luatex/settings以...之名
GH_TOKEN
。在你的 LuaTeX fork 上标记新版本https://github.com/<你的用户名>/luatex/releases/new。Travis CI 将自动构建发布并将二进制文件部署到 GitHub。
使用 Docker 在本地构建 LuaTeX
如果您不想创建 GitHub 账户,您也可以在本地构建 LuaTeX。
克隆 GitHub 存储库。
git clone --depth 1 --single-branch https://github.com/TeX-Live/luatex
该存储库非常庞大,因此我们只克隆最新的提交和单个分支。
转到克隆的目录。
cd luatex
执行这些命令以避免时间戳问题。
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
运行构建脚本。为此,您需要
bash
、gcc
、g++
和。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-dev
TeX Live 个人存储库。有关如何安装的说明,请参阅 GitHub 页面: