在 TeX Live 2014 中man etex
写道:
BUGS
此版本的 e-TeX 实现了许多可选扩展。事实上,这些扩展中的许多或多或少与 e-TeX 的定义相冲突。启用此类扩展后,e-TeX 启动时打印的横幅将更改为打印 e-TeXk 而不是 e-TeX。
我有一些疑问:
- etex 从不显示 e-TeX 或 e-TeXk 横幅(仅显示 pdfTeX)——手册有误吗?
- 有没有纯的e-TeX 可执行文件(不是 pdftex 的符号链接) - 至少 e-TeX 的作者自己使用它,不是吗?
- 应该如何配置,以便被禁用的相同扩展
tex
也将被禁用etex
(考虑到我们不能使用-progname
)?
答案1
pdfTeX 多年来一直是 TeX Live(和 MiKTeX)的标准引擎。pdfTeX 可以在不启用扩展的情况下运行,作为 TeX90 的(或多或少)替代品,也可以在启用扩展的情况下运行,作为 e-TeX 的替代品。对于使用 TeX90 和 e-TeX 基元的文档,pdfTeX 将产生与“真实”二进制文件相同的输出etex
(它通过了 eTRIP 测试)。因此,无需额外维护单独的二进制文件(可能容易出错)。请注意tex
确实运行 Knuth 的 TeX,并且不是使用 pdfTeX 二进制文件。
当然,也有仅针对 e-TeX 的资源(作为.ch
针对tex.web
),并且通过适当的构建设置,可以将其制成二进制文件。Peter Breitenlohner 积极参与 TeX Live 的工作(例如,请参阅 的更改日志http://tug.org/svn/texlive/trunk/Build/source/texk/) 因此肯定能够etex
在 TeX Live 架构中构建为独立的二进制文件:只有他能说他是否这样做了。
答案2
这是适用于 Debian 8 打包的 TL 的配方:
sudo apt-get install libkpathsea-dev
mkdir mydir && cd mydir
rsync -a --delete --exclude=.svn --exclude=Work tug.org::tldevsrc/Build/source/ .
mkdir Work && cd Work
../configure --disable-all-pkgs --enable-shared --with-system-kpathsea --disable-native-texlive-build
make
cd texk/web2c/
make etex
strip etex
cp etex /usr/local/bin/
<build new format>
至于问题中的第(3)点,将其添加到本地 texmf.cnf:
shell_escape.etex = f
parse_first_line.etex = f