Как уменьшить высоту заглавных букв в шрифте sans math в версии newtx ≥ 1.724?

Как уменьшить высоту заглавных букв в шрифте sans math в версии newtx ≥ 1.724?

Работает pdflatexна

\documentclass[ngerman]{article}
\pagestyle{empty}
\usepackage[T2A,T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[slantedGreek,subscriptcorrection,helvratio=.9]{newtx}% I tested v1.724 and v1.735
\begin{document}
x\textsf{xX}X$\mathsf{XxX}\mathrm{Xx}\mathsf{x}$x
\end{document}

урожайность

выход

При использовании одного всеобъемлющего пакета шрифтов (например, NewTX) следует ожидать, что все шрифты будут хорошо сочетаться друг с другом, по крайней мере, приблизительно. (Обратите внимание, что здесь мынеттестирование двух пакетовnewtxtextиnewtxmath: использование \usepackage{newtxtext,newtxmath}вместо \usepackage[…]{newtx}дает другой результат, хотя интерфейс старый.)

Шрифт без текста не идеален, носубъективнотерпимо: хотя шрифт sans x заметно выше (в 1,046 раза), чем serif x, шрифт sans X несколько меньше (в 1,009 раза), чем serif X, и мы в любом helvratioслучае могли бы немного изменить высоту шрифта sans, если бы захотели.

Шрифт math sans — это то, что нас явно беспокоит; мы учитываем его высотусубъективноне очень хорошо выровнен по отношению к

  • высота шрифта текста и

  • высота прямого математического шрифта.

А именно, хотя шрифт sans math x лишь немного меньше (в 1,015 раза), чем text serif x и math upright serif x, шрифт sans math X заметно выше (в 1,046 раза), чем text serif X и math upright serif X. Эта проблема в шрифте math sans беспокоит нас. Как немного уменьшить размер шрифта sans math или заглавных букв в нем, т. е. уменьшить высоту шрифта sans math или заглавных букв в шрифте sans math?

Другие соотношения между шрифтами кажутся хорошими, и в нашем неминимальном примере их больше, поэтому мы не хотим вносить больше изменений, чем указано выше (в частности, мы хотим сохранить текущие размеры всех шрифтов без математических надписей).

решение1

Задавание вопроса \showthe\textfont8показывает \T1/cmss/m/n/10, вместо использования того же шрифта , что и \sffamily.

Я не уверен, почему newtx.styне устанавливает \mathsfшрифт, хотя newtxmath.styустанавливает. Исправьте это и сообщите.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[
  slantedGreek,
  subscriptcorrection,
  helvratio=.9,
]{newtx}

\DeclareMathAlphabet{\mathsf}{\encodingdefault}{\sfdefault}{m}{n}
\SetMathAlphabet{\mathsf}{bold}{\encodingdefault}{\sfdefault}{b}{n}

\begin{document}

x\textsf{xX}X$\mathsf{XxX}\mathrm{Xx}\mathsf{x}$x

\end{document}

введите описание изображения здесь

Связанный контент