当 \small 应用于群 (Lualatex) 时,Stix Math Two 的左(\right) 问题

当 \small 应用于群 (Lualatex) 时,Stix Math Two 的左(\right) 问题

考虑以下 MWE:

\documentclass[12pt]{article}
\usepackage{unicode-math}
\setmathfont{STIX2Math.otf}

\begin{document}
{\small Small size
\[
    \left(\frac{a}{b}\right)   \left(\frac{\frac{a}{b}}{\frac{a}{b}}\right)
\]
}

Normal size
\[
    \left(\frac{a}{b}\right) \left(\frac{\frac{a}{b}}{\frac{a}{b}}\right)
\]

\end{document}

在此处输入图片描述

如果你编译它,你会注意到第一个 with 指令中的括号没有正确缩放\small。如果你注释掉\setmathfont{Stix Two Math}它,它就会起作用。所以,这似乎是 stix 2 的问题。我使用完全更新的 LuaLatex (MacTeX 2017) 系统。

我的问题 a) 这是一个已知问题吗?b) 我如何以透明的方式解决这个问题?

(我无法切换到 XeLaTex,因为我打算玩一些 lua 代码。)

答案1

问题似乎出在+ssty用于小于基本尺寸的选项上;错误报告已经在Sourceforge上提交。

xetex这是一个使用或进行编译luatex并产生不同结果的示例。

\input ifxetex.sty

\ifxetex
  \font\extsymbolsA="STIX Two Math/OT:script=math;language=DFLT;"
  \font\extsymbolsB="STIX Two Math/OT:script=math;language=DFLT;+ssty=0;"
\else
  \input luaotfload.sty
  \font\extsymbolsA="STIX Two Math:mode=base;script=math;language=DFLT;"
  \font\extsymbolsB="STIX Two Math:mode=base;script=math;language=DFLT;+ssty=0;"
\fi

\Udelcode`(="3 `(
\Udelcode`)="3 `)

\textfont3=\extsymbolsA
$$
\left(a\over b\right)
$$

\textfont3=\extsymbolsB
$$
\left(a\over b\right)
$$

\bye

输出xetex

在此处输入图片描述

输出luatex

在此处输入图片描述

该问题似乎是由于与选项和 LuaTeX 或 的一些交互引起的luaotfload

但是,它似乎只影响括号而不影响其他分隔符:

\documentclass[10pt]{article}
\usepackage{unicode-math}
\setmathfont{STIX Two Math}

\begin{document}
{\small Small size
\[
\left(\frac{a}{b}\right)
\left[\frac{a}{b}\right]
\left\{\frac{a}{b}\right\}
\left\langle\frac{a}{b}\right\rangle
\]
}

Normal size
\[
\left(\frac{a}{b}\right)
\left[\frac{a}{b}\right]
\left\{\frac{a}{b}\right\}
\left\langle\frac{a}{b}\right\rangle
\]

\end{document}

在此处输入图片描述

可能的解决方法:

\documentclass[10pt]{article}
\usepackage{unicode-math}
\setmathfont{STIX Two Math}
\setmathfont[range={\(,\)}]{XITS Math}

\AtBeginDocument{%
  \Udelcode`(="4 `(
  \Udelcode`)="4 `)
}

\begin{document}
{\small Small size
\[
\left(\frac{a}{b}\right)
\left[\frac{a}{b}\right]
\left\{\frac{a}{b}\right\}
\left\langle\frac{a}{b}\right\rangle
\]
}

Normal size
\[
\left(\frac{a}{b}\right)
\left[\frac{a}{b}\right]
\left\{\frac{a}{b}\right\}
\left\langle\frac{a}{b}\right\rangle
\]

\end{document}

在此处输入图片描述

相关内容