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:
Wenn ich \usepackage{realscripts}
sie jedoch aktiviere, kann ich Buchstaben überhaupt nicht mehr als Tief-/Hochstellung verwenden:
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, realscripts
ist 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 \textsuperscript
Arguments 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 a
und ganz anders aussehen würde. In diesem Fall 1
wäre es deshalb besser, \fakesuperscript
(also „mag nicht “) zu verwenden.realscripts