Неправильная высота для квадратного корня при использовании unicode-math и lualatex

Неправильная высота для квадратного корня при использовании unicode-math и lualatex

Вот что я вижу:введите описание изображения здесь Обратите внимание на разницу в высоте символа квадратного корня в \sqrt{11}. Похоже, это происходит только тогда, когда я компилирую с помощью lualatex.

Вот мой MWE:

\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmathfont[]{TeX Gyre Pagella Math}
\setmathfont[range={cal}]{Latin Modern Math}

\begin{document}
  Note well:
  \begin{equation*}
    x = \sqrt{11}\sqrt{19}
    \qquad
    y = \frac{\sqrt{11}\sqrt{19}}{26}
  \end{equation*}
\end{document}

Я предполагаю, что это ошибка, но не уверен, так ли это, и как о ней сообщить, если это так.

решение1

Это известная «фича» опции range. Лечится это переустановкой в ​​качестве последнего математического шрифта основного, выбрав его для диапазона некоторого символа.

Автор unicode-mathэто знает.

\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmathfont[]{TeX Gyre Pagella Math}
\setmathfont[range={cal}]{Latin Modern Math}
\setmathfont[range=\int]{TeX Gyre Pagella Math}

\begin{document}
  Note well:
  \begin{equation*}
    x = \sqrt{11}\sqrt{19}
    \qquad
    y = \frac{\sqrt{11}\sqrt{19}}{26}
  \end{equation*}
\end{document}

введите описание изображения здесь

решение2

Проблема не только в высоте корней, если внимательно присмотреться, то можно увидеть, что горизонтальные правила корней неверны, а также правило дроби слишком тонкое. Как написал egreg, проблема в опции range. Последний математический шрифт задает важные математические константы. В этом случае проблема в \Umathradicalruleи , \Umathfractionruleкак вы можете видеть в этом примере:

\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmathfont[]{TeX Gyre Pagella Math}
\makeatletter\check@mathfonts \makeatother
\edef\textstylerulewidth{\the\Umathradicalrule\textstyle}
\edef\displaystylerulewidth{\the\Umathradicalrule\displaystyle}
\edef\displaystylefraction{\the\Umathfractionrule\displaystyle}

\setmathfont[range={cal}]{Latin Modern Math}


\begin{document}
\makeatletter\check@mathfonts \makeatother
\Umathradicalrule\textstyle=\textstylerulewidth 
\Umathradicalrule\displaystyle=\textstylerulewidth 
\Umathfractionrule\displaystyle=\displaystylefraction
  Note well:
  \begin{equation*}
    x = \sqrt{11}\sqrt{19}
    \qquad
    y = \frac{\sqrt{11}\sqrt{19}}{26}
  \end{equation*}
\end{document}

(Установка значений таким образом по одному, естественно, не является правильным решением, решение egreg лучше, но, на мой взгляд, интересно посмотреть, как это значение повлияет на вывод.)

Связанный контент