¿Cuál sería su lista de deseos minimalista para nuevas primitivas de programación TeX?

¿Cuál sería su lista de deseos minimalista para nuevas primitivas de programación TeX?

He escrito muchos TeX "raros" a lo largo de los años y nunca me he encontrado con una situación en la que el entorno de programación de TeX fuera completamente inadecuado. Sin embargo, a menudo he deseado simplementeun poco Más ayuda al escribir macros complicadas. Descubrir cómo hacer malabares con llaves, condicionales y \string, además del \romannumeral-1...truco, fue divertido, pero me pareció un poco idiosincrásico. Ahora (¡hace sólo un mes si puedo creerlo! ¡Y he estado usando TeX durante más de veinte años!) que he examinado el código LaTeX3 ( expl3para ser más precisos, todavía no puedo obligarme a usar LaTeX), he encontrado un Muchos de los mismos trucos que casi me da vergüenza usar (incluso he aprendido un par de formas un poco más cortas de lograr algunos efectos).

Entonces, después de esta larga introducción, ¿cuál sería su lista de deseos para una extensión TeX que solucione las ineficiencias de programación del TeX original y por qué, si es posible?

Idealmente, este será unlista corta(5 artículos o menos). Solo elprogramaciónSe debe abordar el entorno ambiental (es decir, nada que involucre el manejo de TeX de, digamos, fuentes, otras cuestiones tipográficas, etc. El artículo de Frank Mittelbach sobre el tema trata esa área bastante bien). Tenga en cuenta que disfruto de la filosofía minimalista de TeX y la programación macro en general (aunque siento que tengo alas cuando paso a escribir código incrustado en C), por lo que estoy buscando una respuesta más en el espíritu de TeX en lugar de "simplemente usar LuaTeX". (No tengo nada en contra de LuaTeXper sesolo se siente un pocoad hoc; También siento que hacer programacióndemasiado fácilno es una gran idea). Si la respuesta es 'e-TeX (o alguna otra extensión) ya hace todo esto y he aquí por qué las opciones de e-TeX son mejores', por favor elabora.

Empezaré con mi propia lista de deseos:

\xxpandafter{tokens}-- expande el token siguiendo al grupo

\iftoks{token list}{token list}-- compara dos listas de tokens (igual \def\listone{...}\def\listtwo{...}\ifx\listone\listtwo ...pero ampliable)

\unlet token-- se expande a un código de categoría, token de código de carácter o nada si el token no es un carácter activo/secuencia de control permitida para dicho carácter

\numexpr-- igual que e-TeX (solo desearía que estuviera emparejado \endnumexpren lugar de \relax)

\batchxmode{...}permite la recuperación automática de errores para el código expandido dentro de las llaves, se expande a nada (es decir, igual \batchmode ... \errorstopmodepero se expande a nada)

información relacionada