![更改包含对齐方程的段落的颜色](https://linux22.com/image/461801/%E6%9B%B4%E6%94%B9%E5%8C%85%E5%90%AB%E5%AF%B9%E9%BD%90%E6%96%B9%E7%A8%8B%E7%9A%84%E6%AE%B5%E8%90%BD%E7%9A%84%E9%A2%9C%E8%89%B2.png)
我想将一段文字涂成蓝色。由于我的文本包含一些方程式,因此我遵循了这个答案。但是,当段落以对齐环境结束时,我会获得额外的垂直空间,如下所示。
\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\begin{document}
{ \color{blue}This is is a paragraph in blue. It contains the equation
\begin{align*}
a & = b + c - 2c\\
&= b - c.
\end{align*}
}
This is a new paragraph in black.
\end{document}
在不创建任何额外空间的情况下为段落着色的最佳方法是什么?
答案1
(至少对于 PDFLaTeX 来说)\color{…}
结果是那是什么因此是水平材料。不幸的是,在组末尾切换回以前的颜色也需要 whatsit。因此,在您的例子中,由于切换颜色而导致后面有一个额外的段落。我的建议是避免该组,并在下一段的开头\end{align*}
明确切换到:\normalcolor
\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\begin{document}
\color{blue}%
This is is a paragraph in blue. It contains the equation
\begin{align*}
a & = b + c - 2c\\
&= b - c.
\end{align*}
\normalcolor
This is a new paragraph in black.
\end{document}
另一种方法是使用 LuaLaTeX 和包裹luacolor
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage{luacolor}
\begin{document}
{\color{blue}%
This is is a paragraph in blue. It contains the equation
\begin{align*}
a & = b + c - 2c\\
&= b - c.
\end{align*}}
This is a new paragraph in black.
\end{document}
颜色luacolor
不再是什么东西(因此也是水平材质),而是节点属性。使用 LuaLaTeX 的另一个优势。
\par
另一种选择是在组结束后align*
但在组结束之前添加一个,因为颜色代码试图避免在垂直模式下出现此类问题:
\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\begin{document}
{\color{blue}%
This is is a paragraph in blue. It contains the equation
\begin{align*}
a & = b + c - 2c\\
&= b - c.
\end{align*}\par}
This is a new paragraph in black.
\end{document}