En expl3.pdf
3.2.5, noté que el :D
especificador significa "NO USAR" y "los programadores fuera del equipo del kernel no deberían usar estas funciones". Pero también encuentro que estas funciones aparecen en algunos paquetes escritos en LaTeX3.
Entonces, ¿alguien puede decirme si puedo usarlos después de todo?
Respuesta1
El :D
especificador se usa exclusivamente para primitivas (todas las primitivas son iniciales \<engine>_<name>:D
) y ninguna idea debe aparecer fuera del código del equipo central. (En términos generales, eso significa fuera de, l3kernel
pero hay algunos casos especiales en los que esperamos que :D
los nombres se utilicen en lugares limitados en otro código a nivel de kernel).
Sin embargo, está claro que hay áreas que el equipo aún no ha cubierto expl3
o donde la interacción con LaTeX2e requiere acceso directo a las primitivas. Paraprovisionaltrabajar en módulos donde actualmente no hay interfaces oficiales, el equipo recomienda que el código que aborde tales casos se formule como
\cs_new_eq:NN \__module_name:w \engine_name:D % Probably :w ...
y el último nombre se utiliza en esos lugares: esto deja solo una línea para ajustar a medida que el equipo aborda dichos problemas. También es probable que valga la pena plantearlos con el equipo, ya sea directamente en LaTeX-L. Por ejemplo, recientemente agregué soporte \pdffilesize
y adiciones similares como experimentales l3file
como resultado de dichas solicitudes.
Para trabajar con LaTeX2e, donde podríamos esperar que el código nunca "se moviera", normalmente uno se apegaría al nombre "clásico".