Eu tenho um arquivo que carrega uma fonte semelhante ao Times e, em seguida, um pacote que usa a fonte no modo matemático. Tudo funciona bem pdflatex
incluindo o kerning adequado de \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}
mas quando tento a mesma configuração xelatex
com um arquivo como:
% 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}
o kerning do que está dentro \operatorname{}
e \mathrm{}
se perde, mesmo quando outros kernings estão bem.
Eu gostaria de entender as razões para \mathrm{}
bagunçar as coisas.
Responder1
Seu exemplo de pdflatex não compila sem erros para mim - não é uma boa ideia carregar mathptmx e mtpro2.
Mas além disso:
- não há kerning envolvido: os caracteres são de fontes diferentes.
- Você só precisa comparar a fonte pdflatex times e Times New Roman para entender por que, por exemplo, o espaçamento f é diferente:
\documentclass{report}
\usepackage{ifxetex}
\ifxetex
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Times New Roman}
\else
\usepackage{mathptmx}
\fi
\begin{document}
\fboxsep0pt
\fbox{f}
\end{document}
Você poderia tentar o TeX Gyre Termes em vez do Times New Roman, ele f
não fica muito fora da caixa delimitadora: