
Ich verwende unicode-math
(mit XeLaTeX), um meine Text- und Mathematikschriftarten festzulegen. Wenn ich sie jedoch Garamond-math
als Mathematikschriftart verwende, sehe ich, dass das \prime
Symbol zu nah am Buchstaben steht:
Ich versuche, den \prime
Befehl neu zu definieren, und wenn möglich würde ich ihn '
im Mathematikmodus neu zuordnen, damit der richtige Abstand entsteht. Die „übliche“ Lösung zur Neudefinition \prime
ist jedoch (MWE).
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Garamond-Math.otf}[StylisticSet={5,7,9}]
\let\originalprime\prime
\def\prime{\mkern3mu\originalprime\mkern-3}
\begin{document}
$f'(x)$
\end{document}
aber diese Lösung scheint in diesem Zusammenhang nicht zu funktionieren. Ich habe auch versucht
\usepackage{newunicodechar}
\AtBeginDocument{\newunicodechar{′}{\mkern3mu\prime\mkern-3u}}
aber auch dies hatte keine Wirkung.
Antwort1
In wird unicode-math
der Befehl \prime
als interne Funktion definiert, die verwendet wird, wenn f'(x)
verarbeitet wird. Eine Neudefinition \prime
bewirkt also nichts, es sei denn, SieTunverwenden Sie es explizit.
Leider gibt es keine Schnittstelle zum Ändern des Verhaltens. Das Folgende funktioniert jedoch mit der aktuellen Version von unicode-math
. Aufgrund des Zugriffs auf private Funktionen kann jedoch nicht garantiert werden, dass dies in zukünftigen Versionen stabil bleibt.
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Garamond-Math.otf}[StylisticSet={5,7,9}]
\ExplSyntaxOn
\cs_set:Npn \__um_prime_single_mchar { \mkern2mu\Umathchar"0"0"2032\mkern-2mu~}
\cs_set:Npn \__um_prime_double_mchar { \mkern2mu\Umathchar"0"0"2033\mkern-2mu~}
\cs_set:Npn \__um_prime_triple_mchar { \mkern2mu\Umathchar"0"0"2034\mkern-2mu~}
\ExplSyntaxOff
\begin{document}
$f'(x)+f''(x)+f'''(x)$
$g'(x)+g''(x)+g'''(x)$
$h'(x)+h''(x)+h'''(x)$
\end{document}