mathspec 选择了错误的数学字体

mathspec 选择了错误的数学字体

我正在尝试使用DejaVu Sans Light作为数学字体。它没有一套全面的数学字符,但它有我需要的(罗马数字、beta、gamma、epsilon 和一些其他字符)。

我尝试使用选择字体

\setmathfont(Greek,Latin,Digits){DejaVu Sans ExtraLight}

在我的序言中。(“Light”字体在序言中必须称为“ExtraLight”;否则将无法加载。)这给了我一个以 Light 字体设置数字的文档。但没有其他字符以该字体设置。相反,它们设置为相同字体的较重版本:DejaVu Sans Oblique。这是一个完整的工作示例:

\documentclass{article}
\usepackage{mathspec}
\setmathfont(Greek,Latin,Digits){DejaVu Sans ExtraLight}  
\begin{document} 
  Inline math: $\hat{\beta} = (X'X)^{-1}X'Y, 1234$.\\  
  Display math: $$\hat{\beta} = (X'X)^{-1}X'Y, 1234$$
\end{document}

结果如下:

结果

这种行为让我很困惑。我在日志文件或文档中看不到任何mathspec与此相关的内容。而且 Light 字体并不像 Oblique 字体那样有字形。有没有办法理解它mathspec正在做什么——或者至少让它在仍然使用 XeLaTeX 的同时渲染Light 字体中的$\beta$$\gamma$和其他几个字符?

答案1

我的系统上没有 DejaVu Sans ExtraLight 的倾斜版本。所以我也得到了正常重量。但您可以使用 FakeSlant-Option:

\documentclass[letterpaper, 12pt, oneside]{article}
\usepackage{mathspec}
\setmainfont[ItalicFont={DejaVu Sans ExtraLight},
             ItalicFeatures={FakeSlant=0.2}]{DejaVu Sans ExtraLight}
\setmathfont(Greek,Latin,Digits)[ItalicFont={DejaVu Sans ExtraLight},
                                 ItalicFeatures={FakeSlant=0.2}]{DejaVu Sans ExtraLight}
\begin{document}
X123 \itshape X124 \slshape X124


  Inline math: $\hat{\beta} = (X'X)^{-1}X'Y, 1234$.\\      Display math: \[\hat{\beta} = (X'X)^{-1}X'Y, 1234\]
\end{document}

相关内容