思考发布在支撑不足和支撑过度的颜色 - 奇怪的行为我认为 TeX 对\mathop
with执行的重新装箱操作\limits
导致颜色泄漏到当前框之外。然而,颜色泄漏并不是唯一的问题,因为 的行为也\limits
被非分组的\color
\documentclass{article}
\usepackage{color}
\begin{document}
\hsize=5cm
Fine:
\[
\mathop{{\color{red} foo}}^{A}_{B}
\quad
\mathop{foo}^{{\color{red} A}}_{B}
\quad
\mathop{foo}^{A}_{{\color{red} B}}
\]
Not fine (well, the last \emph{is}):
\[
\mathop{\color{red} foo}^{A}_{B}
\quad
\mathop{foo}^{\color{red} A}_{B}
\quad
\mathop{foo}^{A}_{\color{red} B}
\]
\end{document}
当然,分组是正确的做法;但我很好奇为什么颜色\special
会打破正确的限制位置。
答案1
\documentclass{article}
\usepackage{color}\showoutput
\begin{document}
\hsize=5cm
\[
\max^{{\color{red} A}}
\]
\[
\max^{\color{red} A}
\]
\end{document}
\sbox
这与为等引入的“色彩安全组”是相同的问题。
\color
引入了一种颜色恢复方法\aftergroup
,如果没有额外的组,它将从上标中删除。
日志显示。
...\hbox(12.08887+0.0)x18.61118, shifted 61.82631, display
....\vbox(12.08887+0.0)x18.61118
.....\kern1.0
.....\hbox(4.78334+0.0)x18.61118, glue set 6.29863fil
......\glue 0.0 plus 1.0fil minus 1.0fil
......\hbox(4.78334+0.0)x6.01392
.......\pdfcolorstack 0 push {1 0 0 rg 1 0 0 RG}
.......\OML/cmm/m/it/7 A
......\pdfcolorstack 0 pop
在分组的情况下,颜色流行随之而来A
但不分组的情况
.....\hbox(4.78334+0.0)x18.61118, glue set 6.29863fil
......\glue 0.0 plus 1.0fil minus 1.0fil
......\pdfcolorstack 0 push {1 0 0 rg 1 0 0 RG}
......\OML/cmm/m/it/7 A
......\glue 0.0 plus 1.0fil minus 1.0fil
.....\kern1.99998
.....\hbox(4.30554+0.0)x18.61118
......\OT1/cmr/m/n/10 m
......\OT1/cmr/m/n/10 a
......\OT1/cmr/m/n/10 x
....\pdfcolorstack 0 pop
随后出现色彩流行最大限度
如果您显示 B 不在最大值之下,则颜色恢复内容已放置在之前,_B
因此它是该节点的下标,而不是 mathop。