我想在我的一些文档中使用 STIX Two OT 字体,但我偶然发现了一些问题。其中一些问题可以通过此 MWE 看到:
\documentclass[a4paper,12pt]{article}
\usepackage{fontspec}
\usepackage{unicode-math}
% \usepackage{stix2}
\usepackage{amsmath}
\setmathfont{STIXTwoMath-Regular}[
Extension={.otf},
Scale=1,
]
\setmainfont{STIXTwoText}[
Extension={.otf},
UprightFont={*-Regular},
BoldFont={*-Bold},
ItalicFont={*-Italic},
BoldItalicFont={*-BoldItalic}
]
\begin{document}
Some math stuff below:
\begin{gather*}
\widehat{\vec v,\vec w}\\
\sqrt2/2\\
\end{gather*}
{\footnotesize$\vec y$}
{\scriptsize$\vec x$}
\end{document}
这是使用 XeLaTeX 编译后的结果:
我们可以看到许多问题:
- 宽帽放错了位置(它位于向量 v 的中心)
- 斜线周围的空间不太好。
- 字体较小时,字母上方的箭头位置会错误。
使用 LuaLaTeX 进行编译时,widehat 问题消失,但其他问题仍然存在。对于第 3 个问题,我看到了以下解决方法:
\setmathfont[
Extension=.otf,
SizeFeatures={
{Size=8-},
{Size=6-8,Font=STIXTwoMath-Regular,Style=MathScript},
{Size= -6,Font=STIXTwoMath-Regular,Style=MathScriptScript}}
]{STIXTwoMath-Regular}
然而,这并不令人满意,因为还会出现其他问题,例如带有素数的字母。
为了进行比较,这是我使用该stix2
包和类型 1 版本的字体所得到的结果。
答案1
我看不出' \prime' 有什么问题:
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmainfont{STIXTwoText}[
Extension={.otf},
UprightFont={*-Regular},
BoldFont={*-Bold},
ItalicFont={*-Italic},
BoldItalicFont={*-BoldItalic}
]
\setmathfont{STIXTwoMath-Regular}[
Extension={.otf},
SizeFeatures={
{Size=8-},
{Size=6-8,Font=STIXTwoMath-Regular,Style=MathScript},
{Size= -6,Font=STIXTwoMath-Regular,Style=MathScriptScript}}
]
\setmathfont{STIXTwoMath-Regular}[version=bold,
Extension={.otf},
RawFeature={embolden=2.6},
SizeFeatures={
{Size=8-},
{Size=6-8,Font=STIXTwoMath-Regular,Style=MathScript},
{Size= -6,Font=STIXTwoMath-Regular,Style=MathScriptScript}}
]
\begin{document}
Some math stuff below:
\begin{gather*}
\widehat{\vec v,\vec w}\\
y\prime = z\prime\prime\prime = \sqrt2/2\\
\end{gather*}
\footnotesize$\vec y \vec x\prime$ \boldmath$\vec y \vec x\prime$
\end{document}