Na expl3.pdf
versão 3.2.5, notei que o :D
especificador significa "NÃO USE" e "programadores fora da equipe do kernel não devem usar essas funções". Mas também descobri que essas funções aparecem em alguns pacotes escritos em LaTeX3.
Então, alguém pode me dizer se posso usá-los, afinal?
Responder1
O :D
especificador é usado exclusivamente para primitivos (todos os primitivos são iniciais \<engine>_<name>:D
) e nenhuma ideia deve aparecer fora do código principal da equipe. (Em termos gerais, isso significa fora de, l3kernel
mas há alguns casos especiais em que esperamos que :D
os nomes sejam usados em locais limitados em outro código no nível do kernel.)
No entanto, está claro que existem áreas que a equipe ainda não abordou expl3
ou onde a interação com o LaTeX2e requer acesso direto aos primitivos. Paraprovisóriotrabalhar em módulos onde atualmente não há interfaces oficiais, a equipe recomenda que o código que aborda esses casos seja formulado como
\cs_new_eq:NN \__module_name:w \engine_name:D % Probably :w ...
e o último nome é usado nesses locais: isso deixa apenas uma linha a ser ajustada à medida que a equipe aborda tais questões. Também é provável que valha a pena aumentá-los com a equipe diretamente no LaTeX-L. Por exemplo, recentemente adicionei suporte \pdffilesize
e adições experimentais semelhantes l3file
como resultado de tais solicitações.
Para trabalhar com LaTeX2e, onde poderíamos esperar que o código nunca 'seguisse em frente', normalmente usaríamos o nome 'clássico'.