4

For the background to this, see my previous question

I've been trying to make changes in my LaTeX document so that math displays in black and text in red. Thanks to Stefan Kottwitz and Torbjørn T. I've been able to go some way towards doing this. At the moment I have

\usepackage{amsmath}
\usepackage{color}
\usepackage{everysel}
\EverySelectfont{\color{red}}
\everymath{\color{black}}

\let\originaldisplaystyle\displaystyle
\renewcommand\displaystyle{\color{black}\originaldisplaystyle}

\let\oldeq\equation
\def\equation{\oldeq\color{black}}

This changes the text color to red, and then changes the colors for inline math, align environment and equation environment to black. This all works fine. However, when I try to make similar changes to the equation* environment:

\let\oldeq*\equation*
\def\equation*{\oldeq*\color{black}}

I get errors. My guess is that the compiler is reading \equation* as \equation followed by a text asterisk: if I type

\newenvironment{oldeq*}{\equation*}{\endequation*}
\renewenvironment{equation*}{\begin{oldeq*}}{\end{oldeq*}}

then the document compiles, but the \equation* environment now renders as the \equation environment (i.e. with numbering) but with an asterisk placed before the equation. This is the only thing that I have managed to get to compile so far. What am I doing wrong?

3

Here's a redefinition based on the original amsmath definition together with the color command:

\makeatletter
\renewenvironment{equation*}{%
  \mathdisplay@push
  \st@rredtrue \global\@eqnswfalse
  \color{black}
  \mathdisplay{equation*}%
}{%
  \endmathdisplay{equation*}%
  \mathdisplay@pop
  \ignorespacesafterend
}
\makeatother

A simpler solution, which also doesn't need to know amsmath's internals, is possible with the etoolbox package:

\usepackage{etoolbox}
\AtBeginEnvironment{equation*}{\color{black}}
1
  • Thanks SO much: everything's running really well now. I had tried copying in the amsmath definition, but I missed out the \makeatletter and \makeatother so it didn't work. Dec 8 '11 at 12:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.