Eu esperava que, exceto inputenc
/ fontenc
versus fontspec
, arquivos antigos .tex
codificados UTF-8
pudessem ser usados sem alterar nada com pdftex
, xetex
ou luatex
motores.
Mas o MWE a seguir aponta que esse não é o caso por causa de algumas
xunicode
macros públicas, entre outras \m
, \B
, \G
, \M
, \T
e \U
: é uma pena que nomes de macros tão curtos e, portanto, populares tenham sido escolhidos por este pacote!
\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 essas macros, exceto \T
dizem respeito OT1
à codificação de fontes e \T
são definidas como \DeclareRobustCommand{\T}[1]{\~{\m{#1}}}
.
Daí a minha pergunta: é possível, no caso de T1
codificação de fonte, corrigir com segurança essas macros para desativá-las (logo após fontspec
o carregamento)?
Responder1
O xunicode configura para esses comandos também alguns padrões OT1, mas o ponto principal são os comandos de acentos. Por exemplo
\DeclareEncodedCompositeCharacter{\UTFencname}{\M}{0322}{0322} % (Combining retroflex hook below)
Você pode redefinir naturalmente o comando se não o usar, mas há uma tradição de usar "comandos de um caractere" para comandos de acento e, portanto, eu nunca usaria esse nome para um comando.