我知道“scriptstyle”是一种样式,“scriptsize”是一种字体大小,但两者的主要区别是什么?仅仅是“scriptstyle”应该在数学模式下使用,而“scriptsize”通常不应该使用吗?我还知道两者都被定义为从默认字体大小减小 30%,还是不是?
答案1
虽然一个是在文本模式下使用,另一个是在数学模式下使用,但请记住,小于\scriptsize
是\tiny
,但 a 的脚本\scriptstyle
是 a 。因此,这两个术语(和)\scriptscriptstyle
的上下文虽然都使用了脚本一词,但实际上是不同的。一个是指字体大小,另一个是指下标和上标。\scriptsize
\scriptstyle
我们可以看出,它们在以下 MWE 中存在根本区别,其中,如果一开始已经在 中,\scriptstyle
则不会在 中产生任何结果。也就是说,虽然当时调用了,但最终结果不在 中。\scriptsize
\scriptsize
X
\scriptsize
\scriptstyle
\documentclass{article}
\begin{document}
$X \scriptstyle X$
versus
\scriptsize$X \scriptstyle X$
\end{document}
至于它在 TeX 中是如何实现的,要知道是\scriptstyle
通过构建的框之一\mathchoice
(其他三个是\displaystyle
、\textstyle
和\scriptscriptstyle
),而上述过程都不适用于\scriptsize
改变字体大小特征的调用。你甚至可以说,与相比,它与(就其实现方式而言)\scriptstyle
有更多共同之处。\displaystyle
\scriptsize
答案2
\scriptstyle
是 tex 基元,可强制切换到下标中自动使用的样式。(共有八种数学样式,显示、文本、脚本和 scriptscript,以及这四种样式的“狭窄”版本)
数学设置完全独立地定义了每个数学系列(默认、\mathrm 等)要使用的字体。在 scriptstyle 中指定比文本样式小的字体很常见,但绝不会强制这样做。
相反,\scriptsize
在文档类中定义的乳胶宏指定了文档类想要为该大小的文本指定的任何内容。标准类,例如article
指定数学和列表周围的垂直空间以及字体大小,\small
例如
\newcommand\small{%
\@setfontsize\small\@ixpt{11}%
\abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus2\p@
\belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
\def\@listi{\leftmargin\leftmargini
\topsep 4\p@ \@plus2\p@ \@minus2\p@
\parsep 2\p@ \@plus\p@ \@minus\p@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip
}
\scriptsize
对于不太可能用于大块的尺寸,article
实际上只是设置字体大小\scriptsize
,
\newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
也就是说,7pt 字体位于 8pt 基线跳跃上,