您对新的 TeX 编程原语的最低愿望清单是什么?

您对新的 TeX 编程原语的最低愿望清单是什么?

多年来,我写过很多“奇怪”的 TeX,从未遇到过 TeX 编程环境完全不够用的情况。然而,我经常希望一点 在编写复杂的宏时提供更多帮助。发现括号、条件和 \string以及\romannumeral-1...技巧很有趣,但感觉有点太特殊了。现在(如果有人能相信的话,这只是一个月前的事!我已经使用 TeX 超过二十年了!)我已经查看了 LaTeX3 代码(expl3更准确地说,我仍然无法让自己使用 LaTeX),我发现了许多我几乎羞于使用的相同技巧(我甚至学会了几种略短的方法来实现某些效果)。

那么,经过这么长的介绍之后,您希望有一个什么样的 TeX 扩展可以解决原始 TeX 的编程效率低下问题,如果可能的话,为什么呢?

理想情况下,这将是候选名单(5 件或更少)。只有编程环境应该得到解决(即不涉及 TeX 对字体、其他排版问题等的处理。Frank Mittelbach 关于该主题的论文很好地讨论了该领域)。请注意,我喜欢 TeX 的极简主义哲学和宏编程(虽然当我切换到用 C 编写嵌入式代码时感觉就像长了翅膀),所以我正在寻找一个更符合 TeX 精神的答案,而不是“只使用 LuaTeX”(我对 LuaTeX 没有任何意见本身感觉有点特别指定;我也觉得编程太容易了不是一个好主意)。如果答案是“e-TeX(或其他扩展)已经做到了这一切,这就是为什么 e-TeX 的选择更好', 请详细说明。

我将从我自己的愿望清单开始:

\xxpandafter{tokens}-- 扩展组后面的标记

\iftoks{token list}{token list}-- 比较两个标记列表(相同 \def\listone{...}\def\listtwo{...}\ifx\listone\listtwo ...但可扩展)

\unlet token-- 扩展为类别代码、字符代码标记,如果标记不是活动字符/控制序列,则扩展为无

\numexpr-- 与 e-TeX 相同(只希望它与 配对\endnumexpr而不是\relax

\batchxmode{...}允许自动从括号内扩展的代码的错误中恢复,它本身扩展为无(即相同\batchmode ... \errorstopmode但扩展为无)

相关内容