%20en%20la%20fuente%20del%20texto%20para%20usar%20en%20siunitx%20con%20fontspec.png)
Me veo obligado a utilizar un comercial (universo) fuente en mis presentaciones, que obviamente no contiene un \minus
signo dedicado, que es llamado porsiunitx. (Aunque no estoy seguro de si lo es \minus
o algo más). Entonces, si estoy escribiendo
\SI{-1984}{m^{-42}}
No me aparece ningún inconveniente. Lamentablemente no encontré ninguna fuente gratuita con el mismo comportamiento. Pero espero que entiendas lo que quiero decir.
¿Cómo puedo incluir lo que falta?signo menosde otra fuente a mi fuente de texto para obtenersiunitxpara funcionar correctamente?
Aquí hay un MWE:
\documentclass{beamer}
\usefonttheme{professionalfonts}
\usepackage{siunitx}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmainfont{Univers 45 Light}
\setmathfont{XITS Math}
\setbeamerfont{normal text}{family=\rmfamily,series=\normalfont}
\AtBeginDocument{
\usebeamerfont{normal text}
\sisetup{detect-all}
\sisetup{math-rm=\mathrm, text-rm=\rmfamily}
\sisetup{per-mode=fraction,fraction-function=\sfrac}
}
\begin{document}
\begin{frame}
The dash - is working. But the minus sign in \alert{siunitx} (e.g. \SI{-1984}{m^{-42}}) isn't, apart from when it is used in math-mode (e.g. $\SI{-1984}{m^{-42}}$). But in text I'd like to use my text font.
\end{frame}
\end{document}
dándome la salida:
No tengo el problema con otras fuentes.
Probé varias cosas, las dos primeras me dieron errores de sintaxis:
\setmainfont[\minus="2212]{XITS Math}
o como suelo hacer con la fuente matemática:
\setmainfont[range={="2212}]{XITS Math}
Y encontré este código también,
\newunicodechar{"2212}{{\fontspec{XITS Math}"2212}}
\newunicodechar{\minus}{{\fontspec{XITS Math}\minus}}
\newunicodechar{-}{{\fontspec{XITS Math}-}}
ninguno de ellos trabajando.
¿Alguna sugerencia más?
La fuente que utilicé si contiene el carácter \char"2013
pero no lo contiene \char"2212
pero me parece que este es el que llamasiunitxcuando se escribe el menos.
sugerencia de egreg
\usepackage{newunicodechar}
\newunicodechar{^^^^2212}{\char"2013}
trabaja para la unidad
\SI{-1984}{m^{^^^^2212 42}})
pero no para el número, ya que ^^^^2212
es un carácter numérico no válido.