如果$a+b$
出现在段落中,周围的间距+
将取决于行的拉伸/压缩程度。如果${a+b}$
使用,则无论行的拉伸/压缩程度如何,公式都将具有其自然宽度。但是,周围的可拉伸空间(粘连)+
仍然存在,如下图所示\showlists
:
\tracingonline=1
${a+b}$
\showlists
\bye
展示 (使用纯 TeX)
\mathon
\hbox(6.94444+0.83333)x21.79968
.\teni a
.\glue(\medmuskip) 2.22217 plus 1.11108 minus 2.22217
.\tenrm +
.\glue(\medmuskip) 2.22217 plus 1.11108 minus 2.22217
.\teni b
\mathoff
另一方面,没有这样的粘合\scriptstyle
:上面的代码在\scriptstyle
美元符号后(或括号后)添加了
\mathon
\hbox(4.8611+0.83334)x13.99323
.\seveni a
.\sevenrm +
.\seveni b
\mathoff
\scriptstyle
(La)TeX 是否曾在(和)中插入胶水(特别是可拉伸/收缩胶水)\scriptscriptstyle
?我对实际文档中发生的情况很感兴趣(例如,使用 ams(La)TeX 和其他宏包)。
答案1
根据 TeXbook 第 170 页的描述,数学原子周围的自动粘贴可以是“有条件的”,即仅在显示和文本样式中插入:
此处的 0、1、2 和 3 分别代表无空格、细空格、中等空格和粗空格;如果仅在显示和文本样式中插入空格,而不在脚本和脚本样式中插入空格,则表格条目会用括号括起来。例如,Rel 行和 Rel 列中的许多条目都是“
(3)
”;这意味着粗空格通常插入在关系符号(如“=”)之前和之后,但不插入下标中。
如果明确插入的粘连符前面有 ,也会发生相同的情况\nonscript
;这种情况下,将用 表示\showlists
;\glue(\nonscript)
例如
$a\nonscript\hskip2pt b$\showlists
将打印
\mathon
\seveni a
\glue(\nonscript)
\glue 2.0
\seveni b
\mathoff
尽管
$\scriptstyle a\nonscript\hskip2pt b$\showlists
将打印
\mathon
\seveni a
\glue(\nonscript)
\seveni b
\mathoff
其效果和没有添加胶水完全一样。
“TeX 程序” 中的相关模块有 732(用于\nonscript
)、764(用于 TeXbook 第 170 页的表格)、765 和 766。
如果使用 LaTeX amsmath
,胶水会“神奇地”重新出现
$a_{\text{$b+c$}}$
因为下标将在上下文中以文本样式排版\fontsize{\sf@size}
(\sf@size
根据当前文本字体大小计算)。