改变颜色如何影响间距?

改变颜色如何影响间距?

在下面的例子中,红色方程式后面的空格比黑色方程式后面的空格大得多。

\documentclass[12pt]{article}
\usepackage{xcolor}
\begin{document}
\[ a = b \]

The quick brown fox jumps over the lazy dog.
\color{red}
\[ a = b \]
\color{black}

The quick brown fox jumps over the lazy dog.
\end{document}

在我看来,存在这样的情况,会让\color{black}傻瓜TeX认为等式后面的行上还有东西,所以段落分隔符会在文本前产生一个虚假的空白行。第 3.7 节格夫指南提到了间距问题,但并没有真正解释情况。红色方程式后面的线上是什么?

请注意,已经有询问如何处理这个问题;我想了解到底发生了什么事。

答案1

TeX 放置了一个\special(或等效的 pdftex 颜色原语),它插入切换颜色的命令,但与字体更改不同,这是垂直列表中的实际项目,因此它会“隐藏”紧接在它之前的框和空格,以便垂直显示代码做出的决定不会看到前一段的相同细节。通常最好尝试将颜色开关设置为水平模式,例如

The quick brown fox jumps over the lazy dog.\color{red}
\[ a = b \]

\leavevmode\color{black}The...

查看正在发生的情况的一种方法是将其放入\showoutput文档中,然后比较日志文件 a) 没有颜色 b) 垂直模式下有颜色命令 c) 水平模式下有颜色命令。

相关内容