\setmathfont 和 siunitx 的问题

\setmathfont 和 siunitx 的问题

我对以下代码有些问题。

\documentclass{minimal}
\usepackage{fontspec,luatextra,unicode-math}
\usepackage{icomma}
\usepackage[noload=abbr]{siunitx}
\sisetup{decimalsymbol=comma, detect-all}
\let\nbu\SI

\setmathfont[range={\mathscr,\mathbfscr},StylisticSet=0]{xits-math.otf}

\begin{document}
\nbu{7.8}{m} or $7,8 = \nbu{7.8}{m} = \mathscr{A}$ in math mode.\par
\end{document}

在此处输入图片描述

我不想要\itshapem使用以下代码,结果很好,但我不想将放在\setmathfont{}文档环境中(而是放在 sty 文件中)。这怎么可能?

\documentclass{minimal}
\usepackage{fontspec,luatextra,unicode-math}
\usepackage{icomma}
\usepackage[noload=abbr]{siunitx}
\sisetup{decimalsymbol=comma, detect-all}
\let\nbu\SI

\begin{document}
\setmathfont[range={\mathscr,\mathbfscr},StylisticSet=0]{xits-math.otf}
\nbu{7.8}{m} or $7,8 = \nbu{7.8}{m} = \mathscr{A}$ in math mode.\par
\end{document}

在此处输入图片描述

谢谢大家。

答案1

对于除和 之外的情况,似乎siunitx缺少某种“默认”字体:\mathscr\mathscrbf

\documentclass{minimal}
\usepackage{fontspec,luatextra,unicode-math}
\usepackage[noload=abbr]{siunitx}
\sisetup{decimalsymbol=comma, detect-all,debug}
\let\nbu\SI

\setmathfont{latinmodern-math.otf}
\setmathfont[range={\mathscr,\mathbfscr},StylisticSet=0]{xits-math.otf}

\begin{document}
\nbu{7.8}{m} or $7,8 = \nbu{7.8}{m} = \mathscr{A}$ in math mode.\par
\end{document}

结果

相关内容