以下のために、私は
detect-all
も、周囲のインライン数式と同じフォントで印刷detect-inline-family=math
されない理由を理解しています\num
。そうする唯一の方法はmath-rm = \symup
、この答え。ドキュメントをデフォルトの数学フォントでコピー
math-rm = \symup
するためにオプションをロードする必要がある理由を理解します。\num
私の目には少し太く見えるので、デフォルトの数式フォントの太さを周囲の通常のテキストと同じくらい薄くできるかどうか知りたいです。
\documentclass[14pt]{article}
\usepackage[no-math]{fontspec}
\setmainfont{Latin Modern Roman}
\usepackage{unicode-math}
\setmathfont[math-style=ISO]{Cambria Math}
\usepackage[
detect-all,
detect-inline-family=math
]{siunitx}
\begin{document}
\centering
text: 123 \num{123}\\
inline math: $123~\num{123}$\\
display math: \[123~\num{123}\]
\verb|\sisetup{math-rm = \symup}|
\sisetup{math-rm = \symup} % https://tex.stackexchange.com/a/438342/2288
\vspace{\baselineskip}
text: 123 \num{123}\\
inline math: $123~\num{123}$\\
display math: \[123~\num{123}\]
\end{document}
答え1
\mathrm
(\mathbf
およびなど) は、デフォルトの設定で周囲のテキスト フォントからのグリフを使用し、\symrm
(および\symbf
? など) は数式フォントからのグリフを使用します。
\documentclass[14pt]{article}
\usepackage{unicode-math}
\setmainfont{Arial}
\setmathfont[math-style=ISO]{Cambria Math}
\begin{document}\pagestyle{empty}
$\mathrm{mathrm}\quad\symrm{symrm}$
\end{document}
デフォルトではフォント\num
の 1 つが使用され\mathXXX
、デフォルトではこの\mathXXX
フォントはテキスト フォントを使用するため、\num
数式でもテキスト フォントが使用されます。 を使用すると、math-rm = \symup
数式フォントを使用するように強制できます。
detect-inline-family=math
\num
数式フォントを使用するという意味ではなく、\num
数式コマンド内にある場合に反応するという意味です。例えば、
$123~\num{456}~\mathsf{\num{789}}$
- デフォルトの数式フォントの太さを周囲のフォントと同じくらい薄くできるかどうかを知る
そうですね、Cambria Math は少し太字です。より適したデフォルト (ラテン現代数学) を使用しないのはなぜですか?