普通 TeX 与“原始” TeX

普通 TeX 与“原始” TeX

我使用 LaTeX 满足日常需求,但为了避免创建过于繁琐的文档,我试图更好地了解 TeX 引擎本身。作为其中的一部分,我正在尝试使用 TeX(即tex,而不是 LaTeX)。

现在tex实际上加载了纯 TeX。这很好,但有时我发现自己想知道命令(我在这里使用这个术语的含义很宽泛)是纯 TeX 定义的原始命令还是宏,所以我想知道是否有一种不加载的方法来运行 TeX plain.fmt

发现这个问题我假定这可以通过使用virtex而不是来完成tex,但在我的 MiKTeX 安装中virtex也会加载plain.fmt

$ virtex
This is TeX, Version 3.14159265 (MiKTeX 2.9.7250 64-bit)
**\relax

*\show\fmtname
> \fmtname=macro:
->plain.
<*> \show\fmtname

? x
No pages of output.
Transcript written on texput.log.
$ 

那么,我是不是做错了什么(virtex可能误解了 的确切目的),或者这是 MiKTeX 中的一个错误?我能做些什么来修补 ,,primitive'' TeX,而不是(或除了)普通的 TeX?

答案1

virtex也不随 texlive 一起发布,您可以使用--ini选项在 initex 模式下启动 tex 进行此类实验。这是 texlive 2019,但我知道 miktex 应该是一样的

$ tex --ini
This is TeX, Version 3.14159265 (TeX Live 2019) (INITEX)
**\relax

*\show\fmtname
> \fmtname=undefined.
<*> \show\fmtname

? 

*\showthe\hsize
> 0.0pt.
<*> \showthe\hsize

? 

*a

*\end
[0]
Output written on texput.dvi (1 page, 128 bytes).
Transcript written on texput.log.

您可以始终使用 initex,也可以将其用于\dump自定义 virtex 格式,然后使用

tex \&myvirtex

在正常的 tex 运行中使用该格式。

相关内容