newtxsf로 수학 글꼴 크기 조정

newtxsf로 수학 글꼴 크기 조정

나는 uarial을 텍스트 글꼴로 사용하고 있으며 거의 ​​일치하는 수학 글꼴로 newtxsf를 사용하고 싶습니다. 이 게시물에 설명된 대로 라틴 모던의 높이에 맞게 uarial의 크기를 조정했습니다.https://tex.stackexchange.com/a/206677.

여전히 두 가지 문제가 발생합니다.

  • scaled 옵션을 변경할 때 \the\ht0이 동일하게 유지되기 때문에 newtxsf를 올바르게 확장하는 방법을 모르겠습니다. 높이를 직접 표시할 방법이 없다면 몇 가지 값을 시도해보고 가장 적합한 값을 선택하겠습니다.
  • 수학 모드에서는 "sin", "cos" 등이 우아리알로 설정되지 않고 라틴 모던으로 설정됩니다. newtxsf에게 \rmfamily 대신 \sffamily를 사용하도록 지시하는 방법이 있나요? newtxsf 문서를 사용하여 이 문제를 해결하려고 시도했지만 실패했습니다. 아니면 uarial과 일치하는 다른 패키지가 있습니까?

지금까지 내 코드

\documentclass[fontsize=12pt, paper=a4, parskip=half]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[scale=0.93]{tgheros}
\usepackage[scaled=1]{newtxsf}
 
\renewcommand*{\familydefault}{\sfdefault}

\begin{document}
    \textbf{Displaying height of fonts}\par
    \sbox0{\sffamily A}heros: \the\ht0 \\
    \sbox0{\rmfamily A}latin modern: \the\ht0\\
    \sbox0{\ttfamily A}newtxsf: \the\ht0\par
    \textbf{Math mode}  $ Q = P\tan(\varphi)$
\end{document}

컴파일된 문서: 컴파일된 문서

답변1

내 제안은 크기 조정 없이 시도해 보는 것입니다. 이 경우 산세리프 A의 높이는 8.87999pt이고 수학 A의 높이는 8.148pt입니다.

따라서 스케일링 계수는 8.148/8.87999=0.91757(소수점 다섯째 자리로 반올림)입니다. 이제

\documentclass[fontsize=12pt, paper=a4]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage[scale=.91757]{tgheros}
\usepackage[scaled=1]{newtxsf}

\renewcommand*{\familydefault}{\sfdefault}
\renewcommand*{\rmdefault}{\sfdefault}

% this to get the operators in the sans serif font
\DeclareSymbolFont{operators}{\encodingdefault}{\sfdefault}{m}{n}

\begin{document}

    \textbf{Displaying height of fonts}

    \sbox0{\sffamily A}heros: \the\ht0

    \sbox0{$A$}newtxsf: \the\ht0

    \textbf{Math mode}  $ Q = P\tan(\varphi)$

\end{document}

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

답변2

에서 unicode-math해결책은 Scale=MatchLowercase이거나 때로는 입니다 Scale=MatchUppercase. 으로 설정할 수도 있습니다 \defaultfontfeatures.

또한 기본 글꼴을 연산자 글꼴과 글꼴로 설정 하지만 , 등을 사용 \mathrm하여 이를 재정의할 수 있습니다 .\setoperatorfont\setmathrm

관련 정보