[Tex/LaTex] How to color over/underline, or other ways to highlight substituted expressions in proofs

colorhighlighting

I desire to "highlight" in equational proofs the expressions that are substituted for or transformed in each successive step. Since an expression may be transformed in both the prior step and the next step, it could need possibly two highlights in the same equation.

For a simple example see my answer here, on a universal divisibility test. There I'd like to highlight the leading digits being replaced in each step. My first thought was to use a colored under/overline, but I don't know how to color just the overline and not the expression . I can't color the expression too since it may have a different colored overline and underline if it was changed from both the prior and next equation.

Alternatively, I'd be grateful for suggestions on alternative approaches to achieve such highlighting.

Best Answer

You can save the current colour using \colorlet from the xcolor package. So, set the colour of the overline, then typeset the object underneath using the stored colour, not forgetting that this happens inside a group, so you also need to restore the original colour at the end.

\documentclass{article}
\usepackage{xcolor}
\newcommand\blueoline[1]{\colorlet{temp}{.}\color{blue}\overline{\color{temp}#1}\color{temp}}
\begin{document}
\[
\blueoline{abc}123
\quad
\blueoline{\textcolor{red}{def}}456
\quad
{ \color{red} \blueoline{ghi}789}
\]
\end{document}