我使用 Arev 字体来表示数学无衬线字体。但是,与我的罗马数学字体相比,该字体产生的字母略大:
\documentclass[a4paper, 10pt]{scrartcl}
\usepackage[T1]{fontenc}
\DeclareMathAlphabet{\mathsf}{OML}{zavm}{m}{n}
\begin{document}
Font sizes of different math alphabets $\mathrm{x} \mathsf{x} \quad
\mathrm{y} \mathsf{y} \quad \mathrm{z} \mathsf{z}$
\end{document}
我怎样才能改变无衬线字体的字体大小以匹配罗马字体?
答案1
Arev 字体系列没有标准的字体缩放方法,所以我们必须避免加载字体描述文件;我只是复制了内容omlzavm.fd
并对其进行了修改,添加了一个缩放因子。缩放因子的计算可以自动进行,但该.78
因子似乎不错。
\documentclass[a4paper, 10pt]{scrartcl}
\usepackage[T1]{fontenc}
\DeclareFontFamily{OML}{zavm}{\skewchar\font=127 }
\DeclareFontShape{OML}{zavm}{m}{it}{<-> s*[.78] zavmri7m}{}
\DeclareFontShape{OML}{zavm}{b}{it}{<-> s*[.78] zavmbi7m}{}
\DeclareFontShape{OML}{zavm}{m}{sl}{<->ssub * zavm/m/it}{}
\DeclareFontShape{OML}{zavm}{bx}{it}{<->ssub * zavm/b/it}{}
\DeclareFontShape{OML}{zavm}{b}{sl}{<->ssub * zavm/b/it}{}
\DeclareFontShape{OML}{zavm}{bx}{sl}{<->ssub * zavm/b/sl}{}
\DeclareMathAlphabet{\mathsf}{OML}{zavm}{m}{it} % not `n'
\begin{document}
Font sizes of different math alphabets $\mathrm{x} \mathsf{x} \quad
\mathrm{y} \mathsf{y} \quad \mathrm{z} \mathsf{z}$
\end{document}