나는 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