Mathematische Schriftart mit newtxsf skalieren

Mathematische Schriftart mit newtxsf skalieren

Ich verwende Uarial als Textschriftart und möchte Newtxsf als nahezu passende Mathematikschriftart verwenden. Ich habe Uarial so skaliert, dass es der Höhe von Latin Modern entspricht, wie in diesem Beitrag beschrieben:https://tex.stackexchange.com/a/206677.

Ich stoße jedoch immer noch auf zwei Probleme:

  • Ich weiß nicht, wie ich newtxsf richtig skaliere, da \the\ht0 gleich bleibt, wenn ich die Skalierungsoption ändere. Wenn es keine Möglichkeit gibt, die Höhe direkt anzuzeigen, würde ich einige Werte ausprobieren und den auswählen, der am besten passt.
  • im Mathematikmodus werden „sin“, „cos“ usw. nicht in Uarial, sondern in modernem Latein gesetzt. Gibt es eine Möglichkeit, newtxsf anzuweisen, \sffamily statt \rmfamily zu verwenden? Ich habe versucht, dies mithilfe der newtxsf-Dokumentation zu lösen, aber es ist nicht gelungen. Oder gibt es ein anderes Paket, das Uarial entspricht?

Mein Code bisher

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

Zusammengestelltes Dokument: Zusammengestelltes Dokument

Antwort1

Mein Vorschlag ist, es ohne Skalierung zu versuchen. In diesem Fall beträgt die Höhe eines serifenlosen A 8,87999 pt und die Höhe eines mathematischen A 8,148 pt.

Der Skalierungsfaktor beträgt daher 8,148/8,87999=0,91757 (auf die fünfte Dezimalstelle gerundet). Nun mit

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

Bildbeschreibung hier eingeben

Antwort2

Beachten Sie, dass in unicode-mathdie Lösung Scale=MatchLowercaseoder manchmal lautet Scale=MatchUppercase. Sie können es sogar als festlegen \defaultfontfeatures.

Außerdem wird die Hauptschriftart sowohl als Operatorschriftart als auch als Schriftart festgelegt . Sie können dies jedoch mit , , usw. \mathrmüberschreiben .\setoperatorfont\setmathrm

verwandte Informationen