STIX Math 与 LuaLaTeX:间距不正确

STIX Math 与 LuaLaTeX:间距不正确

当我将 STIX Math 与 LuaLaTeX 和 unicode-math 结合使用时,公式中的间距看起来非常糟糕。使用其他数学字体(我尝试过 TeX Gyre Pagella、Latin Modern 和其他一些字体),一切看起来都很好。

我正在运行 MacTeX-2016,包括所有更新。下面的 MWE 给出了以下输出:截屏

问题似乎类似于这个对于 XeTeX。那里提到切换到 LuaTeX 解决了这个问题。就我而言,切换到 XeTeX 似乎并没有解决问题。

梅威瑟:

\documentclass[10pt]{article}
\usepackage{amsmath}
\usepackage{fontspec,xunicode}
\usepackage[math-style=ISO]{unicode-math}

\setmainfont{STIX}\setmathfont{STIX Math}
%   \setmainfont{Tex Gyre Pagella}\setmathfont{texgyrepagella-math.otf}
%   \setmainfont{Latin Modern Roman}\setmathfont{Latin Modern Math}
%   \setmainfont{TeX Gyre Termes}\setmathfont{TeX Gyre Termes Math}
%   \setmainfont{TeX Gyre Schola}\setmathfont{TeX Gyre Schola Math}
%   \setmainfont{TeX Gyre Bonum}\setmathfont{TeX Gyre Bonum Math}

\renewcommand{\vec}[1]{\symbf{#1}} 

\begin{document}
This is a test.
\begin{align}
P(\vec{k}) = \int_a^b
       e^{i\vec{k} \cdot \vec{R}}
       P(\vec{R}) \,\mathrm{d}\vec{R}.
\end{align}
\end{document}

答案1

(我已更新答案,以反映 2016 年底 STIX Two 文本和数学字体的推出。当发布此查询时,STIX Two 字体在 2016 年 9 月尚未上市。)

我无法评估 STIX Text 和 STIX Math 字体。无论它们存在什么问题,好消息是:2016 年 12 月发布的 STIX Two 文本和数学字体具有更好的性能,如下所示。

如果由于某种原因,您的 TeX 发行版(尚未)具有 STIX Two 文本和数学字体,您可能希望考虑使用 XITS 和 XITS Math 字体。它们源自 STIX 和 STIX Math,但它们不会产生您遇到的问题行为。(嗯,还有一个不同的问题,幸运的是,这个问题很小:使用 XITS Math 时,积分的下限排版得太靠右了。这可以通过发出指令(例如)来修复\mkern-9mu,这相当于三个负薄空间。)就我个人而言,我必须说,我更喜欢 STIX Two Math 使用的积分符号的形状,而不是 STIX 和 XITS 使用的版本。

以下代码是在 2017 年 2 月 25 日在运行 MacOS10.12“Sierra”、MacTeX2016、LuaTeX 0.95 和 LuaLaTeX 格式的 Mac 上编译的。据我了解,将于本季度晚些时候发布的 MacTeX2017 将使用 LuaTeX 1.04。据报道,最新版本的 LuaTeX 在设置积分极限方面做得更好。

在此处输入图片描述

\documentclass[10pt]{article}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage[math-style=ISO]{unicode-math}

\newcommand\myeq{%
\[
P(\vec{k}) = \int_a^b e^{i\vec{k} \cdot \vec{R}} P(\vec{R}) \,\mathrm{d}\vec{R}.
\]}

\setlength\textwidth{7cm}
\begin{document}

\setmainfont{STIX}\setmathfont{STIX Math}
\renewcommand{\vec}[1]{\symbf{#1}} 
STIX
\myeq

\medskip
\setmainfont{STIX Two Text}\setmathfont{STIX Two Math}
\renewcommand{\vec}[1]{\symbf{#1}} 
STIX Two
\myeq

\medskip
\setmainfont{XITS}\setmathfont{XITS Math}
\renewcommand{\vec}[1]{\symbf{#1}} 
XITS
\myeq
\end{document}

2017 年 10 月更新:受@HaraldHanche-Olsen 后续评论的提示,以下是使用 Stix Two 文本和数学字体的等式的“外观”,但现在使用的是 MacTeX2017、LuaTeX 1.0.4 和unicode-math2017/08/02 v0.8f:

在此处输入图片描述

正如 Harald 所指出的,积分下限的定位现在已经很好了。

相关内容