我想从中导入数学字体DejaVu Math TeX Gyre无需覆盖全局数学字体的数学字体。我以为我可以这样做:
\newfontfamily\djmathfont{DejaVu Math TeX Gyre}
\newcommand{\mathcalbis}[1]{{\djmathfont \mathcal{#1}}}
但它不起作用(它只是生成我的全局数学字体的数学运算)。
请注意我不想要做类似的事情:
\setmathfont{DejaVu Math TeX Gyre}[range=\mathcal]
编辑。以下是我如何定义自定义\mathsf
而不覆盖默认的:
\newfontfamily\custommathsffont{Lato Regular}[Scale=MatchLowercase,NFSSFamily=custommathsf]
\DeclareMathAlphabet{\mathsfbis}{\encodingdefault}{custommathsf}{m}{n}
这很容易,因为\mathsfbis
直接就是字体Lato Regular
。在 的情况下\mathcalbis
,我必须以某种方式选择字体中的书法字母子集DejaVu Math Tex Gyre
,但我不知道如何采用这种方法。
答案1
如果需要两种不同的书法字体,可以将一种设置为 ,\mathcal
另一种设置为\mathscr
,保持原字体\mathcal
不变,使用
\setmathfont{DejaVu Math TeX Gyre}[range={scr, bfscr}, Scale=MatchUppercase]
如果这不能满足您的使用情况,请认真考虑您是否真的需要在同一张纸上使用相同字母的三种不同脚本变体。如果您真正想要的是书法字母、脚本字母和您更喜欢的另一种字体中的几个单个字母,则range=
可以只替换那个字母。或者您可能想要其他更独特的数学字母,例如 Fraktur。
否则,你可能想做类似的事情
\setmathfontface\mathcalbis{DejaVu Math TeX Gyre}[Scale=MatchUppercase]
\newcommand\mcalbisD{\mathcalbis{