
Ausführen xelatex
(oder lualatex
) auf der Eingabe
\documentclass{standalone}
\usepackage{unicode-math}
\setmathfont[Ligatures=TeX]{texgyretermes-math.otf}
\begin{document}
\(\{f\}\)
\end{document}
sollte eine Art von
{F}
in der Textebene des PDF. Aber es erzeugt
{F }
mit einem Leerzeichen zwischen f und }. Dieses Leerzeichen sollte nicht da sein. Wie wird man es los?
Die sichtbare Ausgabe sieht folgendermaßen aus:
Wie Sie sehen, überlappen sich die linke Klammer und das f im PDF. Wenn Sie die Schriftart jedoch mit Fontforge öffnen und die linke Klammer mit dem Florin in das Metrikfenster einfügen, überlappen sie sich nicht! Die Ausgabe ist inkonsistent. Was übersehe ich? Wie kann ich den Kerning für die Vorkommen von "{" ein für alle Mal richtig erhöhen?F" in meinem riesigen Dokument (das kein MWE ist)? Ich habe versuchtdie Schriftart selbst verbessern(die Entwickler haben in der Vergangenheit auf ähnliche Anfragen nicht reagiert), aber bisher hat es zu nichts geführt ...
Antwort1
Der Abstand in der „Textebene“ des PDF wird durch eine Heuristik Ihres PDF-Viewers eingefügt, da zwischen dem f
und dem ein gewisser Abstand besteht }
. Langfristig sollten getaggte PDF-Dateien dieses Problem lösen, aber insbesondere bei mathematischen Formeln würde ich mich nicht zurückhalten. Kurzfristig geben Sie also entweder Ersatztexte für jede mathematische Formel an, indem Sie z. B. verwenden, repltext
oder Sie leben mit diesem Abstand.
Zur "Inkonsistenz" in FontForge: Das Florin-Zeichen (U+0192) und der mathematische kursive Kleinbuchstabe f (U+1D453) sind nicht dieselbe Glyphe. Vergleicht man beide in FontForge, ergibt sich das gleiche Erscheinungsbild wie in TeX:
(Mathematisches kursives kleines F zuerst, Florin dann)
Aber generell würde ich FontForges Metrikfenster für die Math-Ausgabe nicht empfehlen, da Math nicht auf die gleiche Weise formatiert wird wie normaler Text. Insbesondere „klassisches Kerning“ wie in diesem Fall gibt es eigentlich nicht, da {
und f
separate Objekte und nicht Teil eines Wortes sind.
Wenn Sie das Florin-Zeichen dem mathematischen f vorziehen, können Sie natürlich
\Umathcode`\f 7 0 "192
danach \begin{document}
, sodass LaTeX im Mathematikmodus für ein „f“ das Florin-Zeichen anstelle von U+1D453 einfügt. Ein Nachteil ist, dass die Textebene auch das Florin-Zeichen enthält. Sie können es auch U+1D453
direkt in FontForge ändern.