problema left( \right) com Stix Math Two quando \small aplicado ao grupo (Lualatex)

problema left( \right) com Stix Math Two quando \small aplicado ao grupo (Lualatex)

Considere o seguinte 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}

insira a descrição da imagem aqui

Se você compilá-lo, notará que os parênteses não são aumentados corretamente no primeiro com \smalldiretiva. Se você comentar, \setmathfont{Stix Two Math}funciona. Então, este parece ser um problema do stix 2. Eu uso um sistema LuaLatex (MacTeX 2017) totalmente atualizado.

Minhas perguntas a) este é um problema conhecido? b) Como posso contornar este problema de forma transparente?

(Não posso mudar para o XeLaTex porque pretendo brincar com algum código lua.)

Responder1

O problema parece estar na +sstyopção usada para tamanhos menores que o tamanho base; arelatório de errojá foi arquivado no Sourceforge.

Aqui está um exemplo a ser compilado com xetexou luatexe produz resultados diferentes.

\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

Saída comxetex

insira a descrição da imagem aqui

Saída comluatex

insira a descrição da imagem aqui

O problema parece ser devido a alguma interação com a opção e LuaTeX ou luaotfload.

No entanto, parece afetar apenas os parênteses e não os outros delimitadores:

\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}

insira a descrição da imagem aqui

Uma possível solução alternativa:

\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}

insira a descrição da imagem aqui

informação relacionada