使用颜色选项在对齐环境中突出显示方程式

使用颜色选项在对齐环境中突出显示方程式

我真的很想按照这个问题的要求去做:在对齐环境中突出显示方程式,但可以在调用它时改变颜色,这样我就可以让一个方程式以黄色突出显示,下一个方程式以黄绿色突出显示,第三个方程式以洋红色突出显示,第四个方程式再次以黄色突出显示,等等。(我还希望框架的颜色与突出显示的颜色相同,但我很确定我能解决这一部分。:))我真的很喜欢第一个解决方案 - 有 15 票的解决方案 - 并且很想知道如何调整它以达到我想要的效果 - 类似于\alignedbox[yellow]

我不包括 MWE,因为我的问题只是对前一个问题的后续,但如果有帮助的话我可以包括。

我不知道它是否相关或有帮助,但我现在正在做的只是使用我发现但并不真正理解的这个:

\newcommand{\highlight}[2][yellow]{\mathchoice%
    {\colorbox{#1}{$\displaystyle#2$}}% 
    {\colorbox{#1}{$\textstyle#2$}}%
    {\colorbox{#1}{$\scriptstyle#2$}}%
    {\colorbox{#1}{$\scriptscriptstyle#2$}}}%

然后使用\phantom{}\quad等尝试获得正确的水平间距,以便事物按照我想要的方式对齐。:)

答案1

您只需向宏添加一个参数即可。下面我已将第一个参数设置为指定颜色——它是可选的,如果未提供,则默认为黄色,如第一个示例中所示:

在此处输入图片描述

笔记:

代码:

\documentclass{article}
\usepackage{calc}
\usepackage{amsmath}
\usepackage{xcolor}

\newlength\dlf
\newcommand\alignedbox[3][yellow]{
  % #1 = color (optional, defaults to yellow)
  % #2 = before alignment
  % #3 = after alignment
  &
  \begingroup
  \settowidth\dlf{$\displaystyle #2$}
  \addtolength\dlf{\fboxsep+\fboxrule}
  \hspace{-\dlf}
  \fcolorbox{red}{#1}{$\displaystyle #2 #3$}
  \endgroup
}

\begin{document}
\begin{align*}
    \alignedbox{a}{=b} &                        c  &= d \\
                c &= d & \alignedbox[magenta!20]{i}{=k} \\
                e &= f &                        g  &= h  
\end{align*}
\end{document}

答案2

另一种可能性是利用hf-tikz包裹。

举几个例子:

\documentclass[11pt,a4paper]{article}
\usepackage{amsmath}
\usepackage[customcolors,shade]{hf-tikz}

\begin{document}
\begin{align*}
     \tikzmarkin[fill=yellow]{first eq}a &= b\tikzmarkend{first eq} &          c  &= d \\
      c &= d &         i &= k \\
     \tikzmarkin{second eq}e &= f\tikzmarkend{second eq} &          \hfsetbordercolor{blue}\tikzmarkin[top color=white, bottom color=blue!20]{third eq}g  &= h\tikzmarkend{third eq}  
\end{align*}
\end{document}

结果如下:

在此处输入图片描述

相关内容