更改包含对齐方程的段落的颜色

更改包含对齐方程的段落的颜色

我想将一段文字涂成蓝色。由于我的文本包含一些方程式,因此我遵循了这个答案。但是,当段落以对齐环境结束时,我会获得额外的垂直空间,如下所示。

\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}

相关内容