Escale la fuente matemática con newtxsf
Estoy usando uarial como fuente de texto y quiero usar newtxsf como una fuente matemática casi coincidente. Escale uarial para que coincida con la altura del latín moderno como se describe en esta publicación:https://tex.stackexchange.com/a/206677.
Todavía me encuentro con dos problemas:
- No sé cómo escalar newtxsf correctamente, ya que \ the \ ht0 permanece igual cuando cambio la opción escalada. Si no hay forma de mostrar la altura directamente, probaría algunos valores y elegiría el que más se ajuste.
- en modo matemático, "sin", "cos", ... no se establecen en uarial sino en latín moderno. ¿Hay alguna manera de decirle a newtxsf que use \ sffamily en lugar de \ rmfamily? Traté de 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:
Respuestas
Mi sugerencia es intentarlo sin escalar; en este caso, obtenemos que la altura de una sans serif A es 8.87999pt y la altura de una matemática A 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}
Tenga en cuenta que, en unicode-math, la solución es Scale=MatchLowercase, o, a veces, Scale=MatchUppercase. Incluso puede configurarlo como \defaultfontfeatures.
También establece la fuente principal ya que tanto la fuente operador y el \mathrmtipo de letra, pero se puede anular este, con \setoperatorfont, \setmathrm, etc.