这可能是一个老生常谈的问题,但我还没有找到答案,而且我的尝试也没有奏效。我试图设置一个文档,在数学模式下我同时使用衬线和无衬线数字。我正在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
我在网上找到了其他人描述的相同问题,但似乎没有得到任何答案。解决这个问题的正确方法是什么?