Fontspec + amsmath - 수학 모드에서 커닝 문제

Fontspec + amsmath - 수학 모드에서 커닝 문제

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경계 상자 밖으로 많이 튀어나오지 않습니다.

여기에 이미지 설명을 입력하세요

관련 정보