Wie verwende ich mehr als 16 Schriftarten für mathematische Symbole in XeTeX?

Wie verwende ich mehr als 16 Schriftarten für mathematische Symbole in XeTeX?

Grob gesagt erweitert XeTeX (und LuaTeX) die Anzahl der mathematischen Schriftarten von 16 auf 256, aber derzeit (texlive 2019) erlaubt latex2e nur mathematische Alphabete im vollen Bereich von 0-255 und beschränkt Symbolschriftarten auf 0-15 (geändert indieses Commit, im Jahr 2015).

Wie kann ich als XeTeX-Benutzer alle Symbolschriftarten mit 0–255 Zeichen verwenden?


Zugehörige Informationen:

Eine Erweiterung auf mehr als 16 Symbolschriften erfordert umfangreichere Änderungen, bei denen sämtliche Verwendungen von \mathchardef \mathaccent \radicaletc. durch \U...Versionen ersetzt werden.

David Carlisle 12. März 2015, vondieser Kommentar

\U...Vielleicht sollte ich die Verwendung von Primitiven lernen , die in texdoc xetexAbschnitt 2.3 dokumentiert sind.

Antwort1

Das Problem bei der Verwendung von mehr als 16 besteht nicht wirklich darin, dass Sie im Kern-Supportcode von Xetex etwas ändern müssen. Wenn Sie jedoch die \newfam-Zuweisung über 16 hinaus erhöhen, funktioniert kein „normales“ Mathematik-Schriftpaket, da bei \mathchardefVerwendung mit einer Familiennummer über 15 Fehler ausgegeben werden.

Wenn Sie jedoch die Anzahl der zugewiesenen Familien niedrig halten, können Sie eine „sichere“ Familie nehmen, von der Sie wissen, dass sie über die normalen Zuweisungen nie erreicht wird, sagen wir 100, und sie wie folgt verwenden

Bildbeschreibung hier eingeben

\documentclass{article}

% abc from dunhill in family 100

\font\cmdx =cmdunh10
\font\cmdvii =cmdunh10 at 7pt
\font\cmdv =cmdunh10 at 5pt
\textfont 100 = \cmdx
\scriptfont 100 = \cmdvii
\scriptscriptfont 100 = \cmdv
\Umathchardef \da 0 100 `a
\Umathchardef \db 0 100 `b
\Umathchardef \dc 0 100 `c

\begin{document}

$abc\da\db\dc$

\end{document}

verwandte Informationen