您對新的 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但擴展為空)

相關內容