У меня есть файл, который загружает шрифт типа 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
не так сильно выступает за пределы ограничивающей рамки: