所有原始 TeX 控制命令列表

所有原始 TeX 控制命令列表

是否有一份详尽的列表,列出 Knuth 之后的 Tex 添加的所有控制命令,例如 PdfTeX、e-TeX、XeTex、LuaTeX?

答案1

您可以使用 LuaTeX 以编程方式获取列表,前提是您对该引擎支持的 TeX 方言之一提供的新原语感兴趣。通过更改方言变量的值

proc =  tex.initialize ()
dialect = "etex"
-- The dialect identifiers accepted are: tex (i.e., original Knuth, without Plain Tex macros),
--              core (core Luatex, that is, which at present is just "directlua", and is 
--              not in the luatex dialect),
-- and the extension dialects:
--              etex, pdftex, omega, aleph, luatex, umath
-- so the primitives introduced by Luatex are the ones in core, luatex, and umath.
-- These dialect identifiers are case sensitive: "etex" is accepted by
-- tex.extraprimitives, "eTeX" is not.
ps = tex.extraprimitives (dialect)
for _, v in ipairs(ps) do
        print (v)
end

texlua listprims.lua如果您已使用该文件名保存了程序,则应使用该文件名运行程序),此代码将输出给定可能值的基元列表。Unixcolumn实用程序使输出更易于阅读。

LuaTeX 手册在其内列出此输出tex.extraprimitives部分,如果出于某种原因您愿意,可以提供此信息的非程序化路线。

LuaTeX 中不包含 TeX 的所有方言;最重要的是,XeTeX 不包含。我认为 NTS 和 ExTeX 都引入了新的原语——对于这些其他系统,请查阅其文档;XeTeX 的原语列表位于XeTeX 参考指南

还要注意,方言会随着软件的发展而改变。例如,我认为 XeTeX 最近才获得了与 pdfTeX 兼容的原语。

至于提供所有方言的详尽列表的单一指南——嗯,因为这是一个移动的目标,我怀疑是否有足够的动力来制作和维护这样的东西。

相关内容