Estou usando uarial como fonte de texto e quero usar newtxsf como uma fonte matemática quase correspondente. Escalei o uarial para corresponder à altura do latim moderno conforme descrito neste post:https://tex.stackexchange.com/a/206677.
Ainda estou encontrando dois problemas:
- Não sei como dimensionar o newtxsf corretamente, pois \the\ht0 permanece o mesmo quando altero a opção dimensionada. Se não houver como exibir a altura diretamente, eu tentaria alguns valores e escolheria aquele que melhor se adaptasse.
- no modo matemático, "sin", "cos", ... não são definidos em uarial, mas em latim moderno. Existe uma maneira de dizer ao newtxsf para usar \sffamily em vez de \rmfamily? Tentei resolver isso usando a documentação do newtxsf, mas falhei. Ou existe outro pacote que corresponda ao uarial?
Meu código até agora
\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}
Responder1
Minha sugestão é tentar sem dimensionamento; neste caso, obtemos que a altura de uma sans serif A é 8,87999pt e a altura de uma matemática A é 8,148pt.
Portanto, o fator de escala é 8,148/8,87999=0,91757 (arredondado para o quinto dígito decimal). Agora com
\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}
Responder2
Observe que, em unicode-math
, a solução é Scale=MatchLowercase
, ou às vezes Scale=MatchUppercase
,. Você pode até configurá-lo como \defaultfontfeatures
.
Ele também define a fonte principal como fonte do operador e \mathrm
fonte, mas você pode substituir isso por \setoperatorfont
, \setmathrm
, etc.