Escalar fuente matemática con newtxsf

Escalar fuente matemática con newtxsf

Estoy usando uarial como fuente de texto y quiero usar newtxsf como una fuente matemática casi coincidente. Escalé uarial para que coincida con la altura del latín moderno como se describe en esta publicación:https://tex.stackexchange.com/a/206677.

Aún así me encuentro con dos problemas:

  • No sé cómo escalar newtxsf correctamente, ya que \the\ht0 permanece igual cuando cambio la opción de escala. Si no hay forma de mostrar la altura directamente, probaría algunos valores y elegiría el que mejor se ajuste.
  • en modo matemático, "sin", "cos", ... no están escritos en uarial sino en latín moderno. ¿Hay alguna manera de decirle a newtxsf que use \sffamily en lugar de \rmfamily? Intenté resolver esto usando la documentación de newtxsf pero fallé. ¿O hay otro paquete que coincida con uarial?

Mi código hasta ahora

\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

Respuesta1

Mi sugerencia es intentar sin escalar; en este caso obtenemos que la altura de una A sans serif es 8.87999pt y la altura de una A matemática es 8.148pt.

Por lo tanto, el factor de escala es 8,148/8,87999=0,91757 (redondeado al quinto dígito decimal). Ahora con

\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}

ingrese la descripción de la imagen aquí

Respuesta2

Tenga en cuenta que, en unicode-math, la solución es Scale=MatchLowercase, o, a veces, Scale=MatchUppercase. Incluso puedes configurarlo como \defaultfontfeatures.

También establece la fuente principal como fuente del operador y como \mathrmfuente, pero puede anular esto con \setoperatorfont, \setmathrm, etc.

información relacionada