如何降低 newtx 版本 ≥ 1.724 中 sans math 字体大写字母的高度?

如何降低 newtx 版本 ≥ 1.724 中 sans math 字体大写字母的高度?

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)时,我们应该期望所有字体至少大致上都能很好地相互配合。(请注意,这里我们不是测试两个包新文本新数学:虽然界面比较旧,但用“而不是”来表达\usepackage{newtxtext,newtxmath}会产生不同的输出。)\usepackage[…]{newtx}

无字体的文本并不理想,但是主观上可以容忍:尽管无衬线字体 x 明显比衬线字体 x 高(高出 1.046 倍),但是无衬线字体 X 比衬线字体 X 要小一些(小出 1.009 倍),而且如果我们helvratio愿意的话,我们可以稍微调整无衬线字体文本的高度。

math sans 字体明显让我们感到困扰;我们考虑它的高度主观上不太均衡

  • 文本字体的高度和

  • 数学直立字体的高度。

也就是说,尽管 sans math x 仅比文本衬线 x 和数学直立衬线 x 略小(1.015 倍),但 sans math X 明显比文本衬线 X 和数学直立衬线 X 高(1.046 倍)。数学 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}

在此处输入图片描述

相关内容