当比较数学斜体和斜体时,字距调整会发生什么?

当比较数学斜体和斜体时,字距调整会发生什么?

考虑这个例子:

\documentclass{article}

\begin{document}
    \begin{tabular}{ll}
        Math    & $AUC$ \\
        Italics & \textit{AUC} \\
    \end{tabular}
\end{document}

在数学模式下,C 离 U 太远,而在斜体中,A 和 U 之间的间距似乎相同。这些奇怪的字距调整有什么原因吗?这些是固定的并且永远不会改变吗?或者可以期望它们在未来的某个时候得到改进?

答案1

以下是最小示例

\documentclass{article}
\showoutput
\begin{document}
$AUC$
\textit{AUC}
\end{document}

给出了.log一些关于元素排版的细节:

....\mathon
....\OML/cmm/m/it/10 A
....\OML/cmm/m/it/10 U
....\kern1.09026
....\OML/cmm/m/it/10 C
....\kern0.71527
....\mathoff
....\glue 3.33333 plus 1.66666 minus 1.11111
....\OT1/cmr/m/it/10 A
....\kern-0.25557
....\OT1/cmr/m/it/10 U
....\OT1/cmr/m/it/10 C
....\kern 1.45276
....\penalty 10000

AUC请注意第一节中\mathon的构造\mathoff来自不同的字体 cmm并且\kerns (空格) 插入在U和之后C。相比之下,a\kern插入在第二个非数学组件 (也设置为不同的字体) 之后A和之后。Ccmr

这里对元素设置的看法是,在数学模式下,相邻元素通常被视为相乘的变量,而在文本模式下,它们代表完全不同的东西。也许一个更好的例子可以加剧间距差异,即在文本模式下使用形成连字的字母:

enter image description here

\documentclass{article}
\showoutput
\begin{document}
$off$
\textit{off}
\end{document}

\showoutput重点强调这一点:

....\mathon
....\OML/cmm/m/it/10 o
....\OML/cmm/m/it/10 f
....\kern1.0764
....\OML/cmm/m/it/10 f
....\kern1.0764
....\mathoff
....\glue 3.33333 plus 1.66666 minus 1.11111
....\OT1/cmr/m/it/10 o
....\OT1/cmr/m/it/10  (ligature ff)
....\kern 2.11945
....\penalty 10000

答案2

中使用的字母$AUC$来自该cmmi家族。它们比 中的相同字母cmti(文本斜体)略宽,但它们的边距略小。在数学模式下,每个字母后都会添加斜体校正。对于A这个是零,后面的那个C是不明显的,除非后面有东西或有人用它来展示它。斜体校正是避免数学中字符冲突的唯一方法。在类似 中\showoutput,你绝对需要这个校正,但 TeX 不会检查下一个符号是倾斜的还是直立的,它总是添加校正。U$|U|$

数学字母字体cmmi和大多数数学字体一样,几乎没有字距或连字符信息。文本字体 等 有cmti很多此类信息,它用于在 和 之间插入正字距AU如果您手动插入斜体修正,则可以使文本斜体看起来很像数学斜体:\textit{A\/U\/C\/}

在文本中,紧接着的字母应该属于同一个单词,字距调整信息旨在使它们和谐地融合在一起。在数学中,相邻字母之间通常没有联系,试图使它们看起来有联系会产生误导。如果数学中的字母序列用于组成单个变量,则可以使用\mathit{AUC},它只使用与 相同的字体,\textit{AUC}并使用该字体中的所有字距调整信息。

U因此,数学中和之间的较大间距以及和C之间的较小间距并非真正有意为之,而只是被认为不够重要,不足以证明更复杂的系统是合理的。AU

答案3

数学模式下的第一个 AUC 表示A multiplied by U multiplied by C。因此,不仅没有像单词那样的字距调整,而且所有空格(这里没有,但你可以试试)都被忽略了。这不是一个错误,而是一个功能,因此用户应该记住在数学模式下正确插入(通过\mathit\textit)单词。

相关内容