Einige XUnicode-Makros im Fall der T1-Schriftkodierung deaktivieren?

Einige XUnicode-Makros im Fall der T1-Schriftkodierung deaktivieren?

Ich hatte gehofft, dass mit Ausnahme von inputenc/ fontencversus fontspecalte, .texin codierte Dateien UTF-8verwendet werden könnten, ohne dass an den pdftex- xetexoder luatex-Engines etwas geändert werden müsste.

Aber das folgende MWE weist darauf hin, dass dies aufgrund einiger xunicodeöffentlicher Makros nicht der Fall ist, unter anderem \m, \B, \G, \M, \Tund \U: Schade, dass dieses Paket so kurze und daher beliebte Makronamen gewählt hat!

\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}

\TSoweit ich weiß, betreffen alle diese Makros außer OT1die Schriftkodierung und \Tsind wie folgt definiert \DeclareRobustCommand{\T}[1]{\~{\m{#1}}}:

Daher meine Frage: Ist es im Falle der T1Schriftkodierung möglich, diese Makros sicher zu patchen, um sie zu deaktivieren (direkt nach fontspecdem Laden)?

Antwort1

xunicode setzt für diese Befehle auch einige OT1-Standards, aber der Hauptpunkt sind Akzentbefehle. Z. B.

\DeclareEncodedCompositeCharacter{\UTFencname}{\M}{0322}{0322}  % (Combining retroflex hook below)

Sie können den Befehl natürlich neu definieren, wenn Sie ihn nicht verwenden, aber es besteht die Tradition, für Akzentbefehle „Ein-Zeichen-Befehle“ zu verwenden, und deshalb würde ich einen solchen Namen niemals für einen Befehl verwenden.

verwandte Informationen