更改对齐环境中“-”符号的颜色

更改对齐环境中“-”符号的颜色

我需要在对齐环境内的等式中突出显示“-”号及其旁边的项。

原则上,我需要这样的东西:

在此处输入图片描述

但减号的突出显示方式与“b”项相同。

问题是,当我尝试在变色命令中包含减号时,间距就被搞乱了:

在此处输入图片描述

使用IEEEtrantoolsLaTeX 的 plainalign也无济于事。有人知道有什么干净的解决方案吗?

这是MWE:

\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage[retainorgcmds]{IEEEtrantools}
\definecolor{ocre}{RGB}{243,102,25}
\begin{document}

Test:

\begin{align*}
a-b&=a-b\\
a+b&=a+b
\end{align*}

Test with color 1:

\begin{align*}
a{\color{ocre}-b}&=a-b\\
a+b&=a+b
\end{align*}

Test with color 2:

\begin{align*}
a-{\color{ocre}b}&=a-b\\
a+b&=a+b
\end{align*}

Test with IEEE:

\begin{IEEEeqnarray*}{rCl}
a{\color{ocre}-b}&=&a-b\\
a+b&=&a+b
\end{IEEEeqnarray*}
\end{document}

答案1

-b放在括号内时,减号会被解释为一元减号而不是二元减号,因为其左侧没有任何内容(tex 可以检测到)。为了解决这个问题,只需在其左侧插入一个空组即可{}

\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage[retainorgcmds]{IEEEtrantools}
\definecolor{ocre}{RGB}{243,102,25}
\begin{document}

Test:
\begin{align*}
a-b&=a-b\\
a+b&=a+b
\end{align*}

Test with color 1:
\begin{align*}
a{\color{ocre}{}-b}&=a-b\\
a+b&=a+b
\end{align*}

Test with IEEE:
\begin{IEEEeqnarray*}{rCl}
a{\color{ocre}{}-b}&=&a-b\\
a+b&=&a+b
\end{IEEEeqnarray*}
\end{document}

示例代码的输出

编辑:另一个更简单的解决方法是简单地调整组的范围:

{a\color{ocre}-b}&=&a-b

这适用于这种情况,其中彩色部分在单元格末尾(在 之前&)结束。 如果随后出现非彩色材料,则需要考虑到这一点。 感谢@Manuel 在他的回答评论中提出的建议。

答案2

对于这种事情,你需要\begingroup .. \endgroup。如果你使用{..}LaTeX 将其视为\mathord{..}。所以这应该可以

\begingroup\color{ocre}-b\endgroup

也许您更喜欢宏;但我不知道这是否有什么大的缺点。

\newcommand\mathcolor[2]{\begingroup\color{#1}#2\endgroup}
..
a \mathcolor{ocre}{- b}

相关内容