%20%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0%20%D1%81%20Stix%20Math%20Two%2C%20%D0%BA%D0%BE%D0%B3%D0%B4%D0%B0%20%5Csmall%20%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D1%82%D1%81%D1%8F%20%D0%BA%20%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B5%20(Lualatex).png)
Рассмотрим следующий 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}
Если вы скомпилируете его, то заметите, что скобки не масштабируются правильно в первой \small
директиве with. Если вы закомментируете, \setmathfont{Stix Two Math}
то это работает. Так что, похоже, это проблема stix 2. Я использую полностью обновленную систему LuaLatex (MacTeX 2017).
Мои вопросы: а) это известная проблема? б) как можно обойти эту проблему прозрачным способом?
(Я не могу перейти на 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}