使用 mathspec 包在衬线和无衬线之间切换数学模式数字

使用 mathspec 包在衬线和无衬线之间切换数学模式数字

这可能是一个老生常谈的问题,但我还没有找到答案,而且我的尝试也没有奏效。我试图设置一个文档,在数学模式下我同时使用衬线和无衬线数字。我正在XeLaTeX使用包运行文件mathspec。我的序言中有以下几行(实际上,在类文件中):

\RequirePackage{mathspec}  % This line if in a class or style file
%\usepackage{mathspec}  This one if not in a class or a style file
\defaultfontfeatures{Numbers=OldStyle,Ligatures=TeX}
\setmainfont{NewBaskervilleStd-Roman}
\setsansfont{Legacy Sans ITC Std Book}
\setmathsfont(Digits,Latin)[Numbers={Lining,Proportional}]{NewBaskervilleStd-Roman}
\setmathrm[Numbers={Lining,Proportional}]{NewBaskervilleStd-Roman}
\setmathsf[Numbers=Lining,Scale=MatchLowercase]{Legacy Sans ITC Std Book}

除了命令中的数字以衬线字体排版外,其他一切都正常。我知道这与in\mathsf有关,它选择了衬线字体,但我无法在不获取“普通”数学模式下数字的默认字体 (cmr) 的情况下将其删除。如果我不使用,我会在数学模式下获取字母和数字的默认值 (cmr)。Digits\setmathsfont\setmathsfont

我在网上找到了其他人描述的相同问题,但似乎没有得到任何答案。解决这个问题的正确方法是什么?

相关内容