我使用该empheq
包以及该xcolor
包在彩色框中显示方程式。我还希望更改方程式的文本颜色。在单行环境中,例如equation
,这可以完美地工作。然而,在多行 AMS 环境中,文本颜色仅适用于第一行,然后方程式从第二行开始使用默认颜色。
MWE 如下:
\documentclass{article}
\usepackage[svgnames, x11names]{xcolor}
\usepackage{amsmath}
\usepackage{empheq}
\newcommand{\HEG}[1]{\begin{empheq}[box = \colorbox{Thistle4}]{gather}{\color{Snow1}#1}\end{empheq}}
\begin{document}
\HEG{\mathcal{T}\left(a_1\left\{x_{1k}\right\} + a_2\left\{x_{2k}\right\}\right) =\\\nonumber
= a_1 \mathcal{T}\left(\left\{x_{1k}\right\}\right) + a_2 \mathcal{T}\left(\left\{x_{2k}\right\}\right)}
\end{document}
在新行的开头手动插入颜色定义是可行的,即:
\documentclass{article}
\usepackage[svgnames, x11names]{xcolor}
\usepackage{amsmath}
\usepackage{empheq}
\newcommand{\HEG}[1]{\begin{empheq}[box = \colorbox{Thistle4}]{gather}{\color{Snow1}#1}\end{empheq}}
\begin{document}
\HEG{\mathcal{T}\left(a_1\left\{x_{1k}\right\} + a_2\left\{x_{2k}\right\}\right) =\\\nonumber
\color{Snow1}= a_1 \mathcal{T}\left(\left\{x_{1k}\right\}\right) + a_2 \mathcal{T}\left(\left\{x_{2k}\right\}\right)}
\end{document}
将产生
有没有办法配置empheq
让文本颜色跨多行显示,而无需手动插入颜色定义?非常感谢您的想法。
答案1
(仅适用于非编号)
只需在颜色之前使用,即可将颜色应用于整个环境\color{}
。但请确保颜色更改仅适用于环境,因此拥抱带括号的所有内容,即
{\color{<color>}...}
无关:我不会用那些\left \right
。
平均能量损失
\documentclass{article}
\usepackage[svgnames,x11names]{xcolor}
\usepackage{empheq}
\newcommand{\HEG}[1]{%
{\color{Snow1}%
\begin{empheq}[box=\colorbox{Thistle4}]{gather}{#1}\end{empheq}%
}%
}
\begin{document}
Text in normal color.
\HEG{
\mathcal{T} (a_1 \{x_{1k}\} + a_2 \{x_{2k}\}) = \\
a_1 \mathcal{T}(\{x_{1k}\}) + a_2 \mathcal{T}(\{x_{2k}\})
}
Text in normal color.
\end{document}
答案2
Sigur 的回答有一点变化:我定义了一个环境而不是宏(我的特质:我觉得它更容易阅读)并声明一个新的标签形式,以保证方程式编号仍然以黑色打印。
\documentclass{article}
\usepackage[svgnames, x11names]{xcolor}
\usepackage{empheq}
% provided by mathtools, which is loaded by empheq
\newtagform{black}{\textcolor{black}\bgroup(}{)\egroup}
\newenvironment{important}[1][gather] % optional parameter defaults to gather
{%
\usetagform{black}%
\color{Snow1}%
\setkeys{EmphEqEnv}{#1}%
\setkeys{EmphEqOpt}{box=\colorbox{Thistle4}}%
\EmphEqMainEnv
}{\endEmphEqMainEnv}
\begin{document}
See
\begin{important}
\mathcal{T}(a_1\{x_{1k}\} + a_2\{x_{2k}\}) = \nonumber \\
= a_1 \mathcal{T} (\{x_{1k}\}) + a_2 \mathcal{T}(\{x_{2k}\})
\end{important}
or similarly
\begin{important}[align]
\mathcal{T}(a_1\{x_{1k}\} + a_2\{x_{2k}\}) &= \\ \nonumber
&= a_1 \mathcal{T} (\{x_{1k}\}) + a_2 \mathcal{T}(\{x_{2k}\})
\end{important}
\end{document}