Dimensione a fonte matemática com newtxsf
Estou usando uarial como fonte de texto e desejo usar newtxsf como uma fonte matemática quase correspondente. Escalei o uarial para coincidir com a altura do latim moderno, conforme descrito neste post:https://tex.stackexchange.com/a/206677.
Ainda estou encontrando dois problemas:
- Não sei como dimensionar newtxsf corretamente, uma vez que \ the \ ht0 permanece o mesmo quando eu mudo a opção de dimensionamento. Se não houver como exibir a altura diretamente, tentarei alguns valores e escolho o que mais se ajusta.
- 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 newtxsf, mas falhou. Ou há 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}
Documento Compilado:
Respostas
Minha sugestão é tentar sem escala; neste caso, obtemos a altura de uma sem serifa A é 8,87999pt e a altura de um A matemático é 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}
Observe que, em unicode-math, a solução é Scale=MatchLowercase, ou às vezes Scale=MatchUppercase,. Você pode até definir como \defaultfontfeatures.
Ele também define a fonte principal tanto como a fonte do operador e da \mathrmfonte, mas você pode substituir esse, com \setoperatorfont, \setmathrm, etc.