%20in%20der%20Textschriftart%20zur%20Verwendung%20in%20siunitx%20mit%20Fontspec.png)
Ich bin gezwungen, einen kommerziellen (Univers) Schriftart in meinen Präsentationen, die offensichtlich keine eigene\minus
, das vonAbonnieren. (Obwohl ich nicht sicher bin, ob es das ist \minus
oder etwas anderes.) Wenn ich also tippe
\SI{-1984}{m^{-42}}
Bei mir wird kein Minus angezeigt. Leider habe ich keine kostenlose Schriftart mit dem gleichen Verhalten gefunden. Aber ich hoffe, ihr versteht, was ich meine.
Wie kann ich die fehlendenMinuszeichenvon einer anderen Schriftart in meine Textschriftart zu bekommenAbonnierenum richtig zu funktionieren?
Hier ist ein 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}
was mir die Ausgabe gibt:
Mit anderen Schriftarten habe ich das Problem nicht.
Ich habe verschiedene Dinge ausprobiert, die ersten beiden führten zu Syntaxfehlern:
\setmainfont[\minus="2212]{XITS Math}
oder wie ich es für die Mathematikschriftart gewohnt bin:
\setmainfont[range={="2212}]{XITS Math}
Und ich habe auch diesen Code gefunden,
\newunicodechar{"2212}{{\fontspec{XITS Math}"2212}}
\newunicodechar{\minus}{{\fontspec{XITS Math}\minus}}
\newunicodechar{-}{{\fontspec{XITS Math}-}}
keiner von ihnen funktioniert.
Noch weitere Vorschläge?
Die von mir verwendete Schriftart enthält das Zeichen \char"2013
, aber nicht\char"2212
aber es scheint mir, dass dies diejenige ist, die aufgerufen wird vonAbonnierenwenn das Minus eingegeben wird.
egregs Vorschlag
\usepackage{newunicodechar}
\newunicodechar{^^^^2212}{\char"2013}
arbeitet für die Einheit
\SI{-1984}{m^{^^^^2212 42}})
Dies gilt jedoch nicht für die Zahl, da ^^^^2212
es sich um ein ungültiges numerisches Zeichen handelt.