Wie bekomme ich Subs/Supps für Zahlen, aber nicht für Buchstaben?

Wie bekomme ich Subs/Supps für Zahlen, aber nicht für Buchstaben?

Ich spiele mit einer Schriftart (gefundenHier), bei dem Sups/Subs für Zahlen, aber nicht für Buchstaben definiert sind. Wenn ich sie nicht aktiviere, erhalte ich sie nicht:

Keine richtigen Sups/Subs für Figuren

Wenn ich \usepackage{realscripts}sie jedoch aktiviere, kann ich Buchstaben überhaupt nicht mehr als Tief-/Hochstellung verwenden:

mit Paket Realscripts

Gibt es für mich eine Möglichkeit, die Subs/Sups-Zahlen zu erhalten und gleichzeitig die Möglichkeit beizubehalten, Buchstaben in Subs/Superscripts zu verwenden? Hier ist mein Code:

\documentclass{standalone}
\usepackage{fontspec}
\setmainfont{OFLGoudyStM}[
    Extension      = .otf,
    Ligatures      = {Common, TeX},
    ItalicFont     = OFLGoudyStM-Italic]
\usepackage{realscripts}

\begin{document}
\begin{tabular}{l}
  M\textsuperscript{abc0123456789def} \\
  M\textsubscript{abc0123456789def}
\end{tabular}
\end{document}

Antwort1

Nein, realscriptsist nur sinnvoll, wennalleDie Glyphen, die Sie hoch- oder tiefstellen müssen, werden speziell in der Schriftart gezeichnet. Es gibt in XeTeX keine Möglichkeit, festzustellen, ob eine bestimmte Schriftartfunktion eine bestimmte Glyphe (oder eine Glyphenfolge) beeinflusst. Sie können es also erst wissen, wenn Sie das Dokument setzen und die Ausgabe überprüfen.

Nun, in einigen Fällen könnten Sie ein Feld erstellen und seine Größe vor und nach dem Festlegen der Schriftartfunktion vergleichen, aber diese Methode weist wahrscheinlich Randfälle auf, die dazu führen würden, dass sie gelegentlich unzuverlässig ist.

Eine andere Möglichkeit wäre, den Inhalt des \textsuperscriptArguments und des Zweigs entsprechend der Eingabe zu prüfen. D. h.

\textsuperscript{a1} -> 
\textsuperscript{a}\textsuperscript{1} ->
\fakesuperscript{a}\realsuperscript{1}

Dies würde jedoch schrecklich aussehen, da aund ganz anders aussehen würde. In diesem Fall 1wäre es deshalb besser, \fakesuperscript(also „mag nicht “) zu verwenden.realscripts

verwandte Informationen