%20%E3%82%92%20fontspec%20%E3%81%A7%E7%BD%AE%E3%81%8D%E6%8F%9B%E3%81%88%E3%81%BE%E3%81%99%E3%80%82.png)
私はコマーシャルを使わざるを得ない(ユニバース)フォントは私のプレゼンテーションで使用していますが、明らかに専用の\minus
記号は含まれていません。siunitx(それが何か他のことなのかは分かりませんが\minus
)私が入力しているのなら
\SI{-1984}{m^{-42}}
マイナスは表示されません。残念ながら、同じ動作をする無料フォントは見つかりませんでした。しかし、私の言っている意味を理解していただければ幸いです。
不足しているものを含めるにはどうすればいいですかマイナス記号別のフォントからテキストフォントにsiunitx正常に動作するには?
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}
出力は次のようになります:
他のフォントでは問題はありません。
いろいろ試してみましたが、最初の 2 つでは構文エラーが発生しました。
\setmainfont[\minus="2212]{XITS Math}
または、私が数学フォントでよく使う方法は次のとおりです。
\setmainfont[range={="2212}]{XITS Math}
そしてこのコードも見つけました
\newunicodechar{"2212}{{\fontspec{XITS Math}"2212}}
\newunicodechar{\minus}{{\fontspec{XITS Math}\minus}}
\newunicodechar{-}{{\fontspec{XITS Math}-}}
どれも機能していません。
他に何か提案はありますか?
私が使用したフォントには文字が含まれています\char"2013
が、含まれていないよう\char"2212
ですが、これはsiunitxマイナスを入力するとき。
egregの提案
\usepackage{newunicodechar}
\newunicodechar{^^^^2212}{\char"2013}
ユニットで働く
\SI{-1984}{m^{^^^^2212 42}})
^^^^2212
ただし、数字の場合は無効な数字文字であるため、数字には適用されません。