Qual seria a sua lista de desejos minimalista para novas primitivas de programação TeX?

Qual seria a sua lista de desejos minimalista para novas primitivas de programação TeX?

Eu escrevi muito TeX 'estranho' ao longo dos anos e nunca encontrei uma situação em que o ambiente de programação do TeX fosse completamente inadequado. No entanto, muitas vezes desejei apenasum pouco mais ajuda ao escrever macros complicadas. Descobrir o malabarismo com chaves, condicionais e \string, assim como o \romannumeral-1...truque, foi divertido, mas pareceu um pouco idiossincrático. Agora (há apenas um mês, se é que podemos acreditar nisso! e tenho usado TeX há mais de vinte anos!) que olhei para o código LaTeX3 ( expl3para ser mais preciso, ainda não consigo usar LaTeX), encontrei um alguns dos mesmos truques que quase tive vergonha de usar (até aprendi algumas maneiras um pouco mais curtas de obter alguns efeitos).

Então, após esta longa introdução, qual seria a sua lista de desejos para uma extensão do TeX que resolva as ineficiências de programação do TeX original, e por que, se possível?

Idealmente, este será umpequena lista(5 itens ou menos). Apenas oprogramaçãoambiente deve ser abordado (ou seja, nada que envolva o manuseio de, digamos, fontes, outras questões tipográficas, etc. do TeX. O artigo de Frank Mittelbach sobre o tópico trata essa área muito bem). Observe que eu gosto da filosofia minimalista e da programação macro do TeX em geral (embora pareça que ganhei asas quando mudei para escrever código incorporado em C), então estou procurando uma resposta mais no espírito do TeX em vez de 'apenas usar LuaTeX' (Não tenho nada contra o LuaTeXpor si sóparece um poucoAd hoc; Eu também sinto que fazer programaçãomuito fácilnão é uma boa ideia). Se a resposta for 'O e-TeX (ou alguma outra extensão) já faz tudo isso e aqui está porque as escolhas do e-TeX são melhores', por favor elabore.

Vou começar com minha própria lista de desejos:

\xxpandafter{tokens}-- expande o token seguindo o grupo

\iftoks{token list}{token list}-- compara duas listas de tokens (iguais, \def\listone{...}\def\listtwo{...}\ifx\listone\listtwo ...mas expansíveis)

\unlet token-- expande para um código de categoria, token de código de caractere ou nada se o token não for uma sequência de caractere/controle ativa permitida para tal caractere

\numexpr- igual ao e-TeX (só gostaria que fosse emparelhado \endnumexprem vez de \relax)

\batchxmode{...}permite a recuperação automática de erros para o código expandido entre colchetes, ele próprio se expande para nada (ou seja, o mesmo que, \batchmode ... \errorstopmodemas se expande para nada)

informação relacionada