Tenía la esperanza de que, a excepción de inputenc
/ fontenc
versus fontspec
, los archivos antiguos .tex
codificados UTF-8
pudieran usarse sin cambiar nada con ninguno pdftex
de los xetex
dos luatex
motores.
Pero el siguiente MWE señala que ese no es el caso debido a
xunicode
las macros públicas de algunas, entre otras \m
, \B
, \G
, \M
y : ¡qué lástima que este paquete haya elegido nombres de macros tan cortos y, por lo tanto, populares \T
!\U
\documentclass{article}
\usepackage{expl3}
\ExplSyntaxOn
\pdftex_if_engine:TF
{
\show\m
\show\B
\show\G
\show\M
\show\T
\show\U
}
{
\usepackage{fontspec}
\show\m
\show\B
\show\G
\show\M
\show\T
\show\U
}
\ExplSyntaxOff
\begin{document}
% \newcommand{\m}{}
% \newcommand{\B}{}
% \newcommand{\G}{}
% \newcommand{\M}{}
% \newcommand{\T}{}
% \newcommand{\U}{}
\end{document}
AFAIU, todas estas macros excepto \T
se refieren a OT1
la codificación de fuentes y \T
se definen como \DeclareRobustCommand{\T}[1]{\~{\m{#1}}}
.
De ahí mi pregunta: ¿es posible, en el caso de T1
la codificación de fuentes, parchear de forma segura estas macros para deshabilitarlas (justo después de fontspec
la carga)?
Respuesta1
xunicode configura para estos comandos también algunos valores predeterminados de OT1, pero el punto principal son los comandos de acentos. P.ej
\DeclareEncodedCompositeCharacter{\UTFencname}{\M}{0322}{0322} % (Combining retroflex hook below)
Naturalmente, puedes redefinir el comando si no lo usas, pero existe la tradición de usar "comandos de un carácter" para los comandos con acento, por lo que nunca usaría ese nombre para un comando.