Dimensione a fonte matemática com newtxsf

Dimensione a fonte matemática com newtxsf

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}

Documento compilado: Documento compilado

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}

insira a descrição da imagem aqui

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 \mathrmfonte, mas você pode substituir isso por \setoperatorfont, \setmathrm, etc.

informação relacionada