我真的很想按照这个问题的要求去做:在对齐环境中突出显示方程式,但可以在调用它时改变颜色,这样我就可以让一个方程式以黄色突出显示,下一个方程式以黄绿色突出显示,第三个方程式以洋红色突出显示,第四个方程式再次以黄色突出显示,等等。(我还希望框架的颜色与突出显示的颜色相同,但我很确定我能解决这一部分。:))我真的很喜欢第一个解决方案 - 有 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}
结果如下: