退出内联数学模式时调整 txfonts 字距

退出内联数学模式时调整 txfonts 字距

如果我使用该txfonts包,当连字符跟随内联数学模式时,我注意到奇怪的行为。

如果我使用 Computer Modern 字体,这两种情况的字距虽然不完全相同,但似乎与我的期望兼容。

\documentclass[12]{article}
\begin{document}
$S$-axis

\textit{S}-axis
\end{document}

在此处输入图片描述

然而,使用txfonts,这两种情况的差异变得非常明显。

\documentclass[12]{article}
\usepackage{txfonts}
\begin{document}
$S$-axis

\textit{S}-axis
\end{document}

在此处输入图片描述

当然,我可以采取手动干预措施,例如$S\!$-axis。但是,我想知道这是否应被视为字体指标之一的缺陷,或者这是用户应该“接受”的事情?

由于S是数学模式量,我更愿意使用$S$-axis语法。但这似乎有问题。

答案1

斜体文本字母来自具有形状的OT1(或T1)字体it,而数学letters来自OML编码字体(也具有形状it)。虽然它们看起来非常相似,但它们不一定完全相同:例如,在 Computer Modern 中重叠文本斜体和数学斜体S会发现数学版本更宽一些

\documentclass{article}
\usepackage{xcolor}
\begin{document}
\makebox[0pt][l]{\color{red}\textit{S}}$S$
\end{document}

在此处输入图片描述

此外,即使它们的形状相同,它们的边界框通常也会有所不同(有时差别很大),如以下代码片段所示,它们是 Computer Moderntxfontsnewtx

\documentclass{article}

\begin{document}

\setlength{\fboxsep}{-\fboxrule}
\mathsurround=0pt

CM: {\usefont{OT1}{cmr}{m}{it}\fbox{S}}
    {\usefont{OML}{cmm}{m}{it}\fbox{S}}

tx: {\usefont{OT1}{txr}{m}{it}\fbox{S}}
    {\usefont{OML}{txmi}{m}{it}\fbox{S}}

newtx: {\usefont{OT1}{ntxtlf}{m}{it}\fbox{S}}
       {\usefont{OML}{ntxmi}{m}{it}\fbox{S}}

\end{document}

在此处输入图片描述

就字体而言tx,很明显数学斜体的边界框S在字形的右侧留下了很大的空白空间。

回到你的问题

然而,我想知道这是否应该被视为字体指标之一的缺陷,或者这是否是用户期望“接受”的事情?

我想说这是字体的(糟糕?)设计选择。我不会说这是缺陷,;-)因为也许背后有原因。无论如何,当我在 Times 设置中输入数学时(好吧,从来没有,但如果必须的话)我会使用字体newtx。文本版本(newtxtext)现在基于 TeX Gyre Termes,但(引自文档newtx

newtxmath继续使用txfonts数学字形,但进行了许多度量调整和一些整体修改。

相关内容