我对以下代码有些问题。
\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}
我不想要\itshape
。m
使用以下代码,结果很好,但我不想将放在\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}