fontspec + amsmath - problema com kerning no modo matemático

fontspec + amsmath - problema com kerning no modo matemático

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

kernings funcionando bem

mas quando tento a mesma configuração xelatexcom 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.

problema com o kerning dentro do modo matemático

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}

insira a descrição da imagem aquiinsira a descrição da imagem aqui

Você poderia tentar o TeX Gyre Termes em vez do Times New Roman, ele fnão fica muito fora da caixa delimitadora:

insira a descrição da imagem aqui

informação relacionada