关于 TL 中的 e-TeX 的问题

关于 TL 中的 e-TeX 的问题

在 TeX Live 2014 中man etex写道:

BUGS
此版本的 e-TeX 实现了许多可选扩展。事实上,这些扩展中的许多或多或少与 e-TeX 的定义相冲突。启用此类扩展后,e-TeX 启动时打印的横幅将更改为打印 e-TeXk 而不是 e-TeX。

我有一些疑问:

  1. etex 从不显示 e-TeX 或 e-TeXk 横幅(仅显示 pdfTeX)——手册有误吗?
  2. 有没有纯的e-TeX 可执行文件(不是 pdftex 的符号链接) - 至少 e-TeX 的作者自己使用它,不是吗?
  3. 应该如何配置,以便被禁用的相同扩展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

相关内容