\mathit
如果我尝试专门为和/或\mathbf
使用设置一个独立的字体
\setmathfont[range = it]{some italic font}
\setmathfont[range = bf]{some bold font}
unicode-math 不会改变它,而只是保留默认的 latex 字体。其他范围确实有效,即bfit
和up
。尚未测试其他范围...
it
有一个特殊问题。它会恢复为 vanilla latex 斜体字体、Computer Modern 或任何其他名称。如果使用不同的字体设置,fontspec
那么它将恢复为斜体变体。
代码:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{calc, geometry}
\usepackage{enumitem}
\usepackage{fancyhdr}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmathfont[StylisticSet = 008]{STIX Two Math}
\setmathfont[range = bfup]{some upright bold font}
\setmathfont[range = it]{some italic font}
\begin{document}
\[ \mathbfit{F=ma} \quad \mathbf{F=ma} \quad F=ma \quad \mathit{F=ma}\]
\end{document}
答案1
我通过改变字体分配的顺序解决了这个问题。将unicode-math's
\setmathfont
命令放在fontspec's
\setmainfont
命令之前,如下所示
\newcommand{\garamondPremierPro}{
ItalicFont = Garamond Premier Pro Italic Caption,
BoldFont = Garamond Premier Pro Bold Caption,
BoldItalicFont = Garamond Premier Pro Bold Italic Caption,
}
\newcommand{\normalFontFeatures}{
Kerning = On,
Style = Historic,
Ligatures = {Historic, Rare},
% VerticalPosition = Denominator,
}
\setmathfont[StylisticSet = 008]{STIX Two Math}
\setmathfont[range = up/{Latin, latin}]{Garamond Premier Pro Caption}
\setmathfont[range = bfit/{Latin,latin}]{Garamond Premier Pro Bold Italic Caption}
\setmainfont[
Language = English,
\garamondPremierPro
\normalFontFeatures
]{Garamond Premier Pro Caption}
PS 这是我使用的字体:)