fontspec + amsmath - проблема с кернингом в математическом режиме

fontspec + amsmath - проблема с кернингом в математическом режиме

У меня есть файл, который загружает шрифт типа Times, а затем пакет, который использует шрифт в math-mode. Все работает отлично, pdflatexвключая правильный кернинг \operatorname{}

% To be processed with pdflatex
\documentclass{report}

\usepackage{mathptmx}
\usepackage{amsmath}
\usepackage[lite]{mtpro2}

\begin{document}
\[
    \operatorname{Diff}^r \quad \mathrm{f}^r \quad {f}^r \quad \mathcal{C}^r
\]
\end{document}

кернинги работают отлично

но когда я пробую ту же настройку xelatexс таким файлом:

% To be processed with xe-lua-latex:
\documentclass{report}

%\usepackage[no-math]{fontspec}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Times New Roman}
\usepackage{amsmath}
\usepackage{mtpro2}

\begin{document}
\[
    \operatorname{Diff}^r \quad \mathrm{f}^r \quad {f}^r \quad \mathcal{C}^r
\]
\end{document}

кернинг того, что находится внутри \operatorname{}, \mathrm{}теряется, даже если другие кернинги в порядке.

проблема с кернингом внутри математического режима

Я хотел бы понять причины, по которым \mathrm{}все это портится.

решение1

У меня ваш пример pdflatex не компилируется без ошибок - на мой взгляд, загружать одновременно mathptmx и mtpro2 не очень хорошая идея.

Но кроме этого:

  • кернинг не используется: символы взяты из разных шрифтов.
  • Вам нужно всего лишь сравнить шрифт pdflatex times и Times New Roman, чтобы понять, почему, например, интервал f отличается:
\documentclass{report}
\usepackage{ifxetex}
\ifxetex
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Times New Roman}
\else 
\usepackage{mathptmx}
\fi


\begin{document}
\fboxsep0pt
\fbox{f}

\end{document}

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

Вы можете попробовать TeX Gyre Termes вместо Times New Roman, он fне так сильно выступает за пределы ограничивающей рамки:

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

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