Timesのようなフォントをロードするファイルと、そのフォントを数式モードで使用するパッケージがあります。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 の両方をロードするのは良い考えではないと思います。
しかし、これ以外にも:
- カーニングは行われません。文字は異なるフォントから取得されます。
- たとえば、f 間隔が異なる理由を理解するには、pdflatex times フォントと Times New Roman を比較するだけで十分です。
\documentclass{report}
\usepackage{ifxetex}
\ifxetex
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Times New Roman}
\else
\usepackage{mathptmx}
\fi
\begin{document}
\fboxsep0pt
\fbox{f}
\end{document}
Times New Roman の代わりに TeX Gyre Termes を試すこともできます。f
境界ボックスからそれほどはみ出しません。