Redefinir \prime con Unicode-Math

Redefinir \prime con Unicode-Math

Estoy usando unicode-math(con XeLaTeX) para configurar mis fuentes de texto y matemáticas. Sin embargo, al usarlo Garamond-mathcomo fuente matemática, veo que el \primesímbolo está demasiado cerca de la letra:

ingrese la descripción de la imagen aquí

Estoy intentando redefinir el \primecomando y, si es posible, me gustaría reasignarlo 'en modo matemático para que proporcione el espaciado correcto. Sin embargo, la solución "habitual" para redefinir \prime, es decir (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}

pero esta solución no parece funcionar en este contexto. yo también lo intenté

\usepackage{newunicodechar}
\AtBeginDocument{\newunicodechar{′}{\mkern3mu\prime\mkern-3u}}

pero nuevamente no tuvo ningún efecto.

Respuesta1

En unicode-mathel comando \primese define en términos de una función interna, que se utiliza cuando f'(x)se procesa. Así que redefinir \primeno sirve de nada, a menos quehacerusarlo explícitamente.

Desafortunadamente, no existe una interfaz para modificar el comportamiento. Pero lo siguiente funciona con la versión actual de unicode-math. Sin embargo, debido al acceso a funciones privadas, no se garantiza que esto se mantenga estable en futuras versiones.

\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}

ingrese la descripción de la imagen aquí

información relacionada