TLDR; How does one efficiently apply color on every line of every array to override the color by \everymath
? i.e from
to
(A compilable example of this is at the bottom)
Is there a way to efficiently apply \color{black}
on every line for all arrays (rather than doing it line-by-line)?
I am a big fan of colors and I would like to color up all my inline maths to make the text more readable:
But I would like the color for display maths to remain black.
After some googling, I found Stefan's solution, which uses \everymath
and \everydisplay
from the everysel
package. However, there is a known problem with \everydisplay
: it does not work with some maths environments in amsmath
. To get around it, he suggested redefining displayed math, and I found the following code snippet in OP's comments to his answer:
\let\originaldisplaystyle\displaystyle \renewcommand\displaystyle{\color{black}\originaldisplaystyle}
\let\oldeq\equation \def\equation{\oldeq\color{black}}
So I tried using them with \everymath
, and they are working pretty well, except that the colors in array
& cases
are not overridden, and I get something like this:
I tried redefining cases
like this:
\let\oldcase\cases \def\cases{\oldcase\color{black}}
but it only overrides the color of the first symbol:
Here is the latex for the equation above:
\begin{equation}\label{phi}
\phi(\delta,w)=
\begin{cases}
1 & \text{if } \; \quad (a \in div_1 \land b \in div_2) \Leftrightarrow div_1 = div_2 \\
0 & \text{if } \; \quad (a \in div_1 \land b \in div_2) \Leftrightarrow div_1 \not= div_2 \\
\end{cases} \text{ where } \begin{aligned} \renewcommand\arraystretch{1.25}\begin{array}[t]{|@{\hskip0.6em}l} \delta =\{div_1, div_2\} \\ w = \{a,b\}
\end{array} \end{aligned}
\end{equation}
On the other hand, I get Error: Illegal Character in array tag
while trying to redefine array by \let\olda\array \def\array{\olda\color{black}}
.
However, I am able to change one line of the array by putting \color{black}
at the start of the line:
Is there a way to efficiently apply \color{black}
on every line for all array
s (rather than doing it line-by-line)? How do I do the same for cases
as well?
Here is a compilable example:
\documentclass[11pt, oneside]{article}
\usepackage{geometry}
\geometry{letterpaper}
\usepackage{graphicx}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{xcolor}
\definecolor{myColor}{HTML}{E93F3C}
\usepackage{everysel}
\everymath{\color{myColor}}
\let\originaldisplaystyle\displaystyle \renewcommand\displaystyle{\color{black}\originaldisplaystyle}
\let\oldeq\equation \def\equation{\oldeq\color{black}}
\begin{document}
A \textit{div point set} is any order-pair $(P,\Theta_P)$ satisfying
\begin{alignat}{2}
\label{def1_1}
&\mathrlap{\lvert\Theta_P\rvert = \binom{\lvert P\rvert}{2} \land P \not= \varnothing} \\[1.5ex]
\label{def1_2}
& \forall D_n \in \Theta_P & \quad & \begin{aligned}[t] \renewcommand\arraystretch{1.25}\begin{array}[t]{|@{\hskip0.6em}l} \color{black}
(d_n,\delta_n) \mkern-2mu\coloneqq D_n \\
\lvert d_n\rvert =2\\
d_n \in \mathcal{P}(P)\\
\lvert\delta_n\rvert = 2\\
\bigcup \delta_n = P \setminus d_n \\
\bigcap \delta_n = \varnothing
\end{array}
\end{aligned}\\[1.5ex]
\label{def1_3}
& \forall D_n, D_m \in \Theta_P & \quad & \begin{aligned}[t] \renewcommand\arraystretch{1.25}\begin{array}[t]{|@{\hskip0.6em}l}
(d_n,\delta_n) \mkern-2mu\coloneqq D_n \\
(d_m,\delta_m) \coloneqq D_m\\
d_n= d_m \Leftrightarrow D_n=D_m
\end{array}
\end{aligned}
\end{alignat}
\begin{equation}\label{phi}
\phi(\delta,w)=
\begin{cases}
1 & \text{if } \; \quad (a \in div_1 \land b \in div_2) \Leftrightarrow div_1 = div_2 \\
0 & \text{if } \; \quad (a \in div_1 \land b \in div_2) \Leftrightarrow div_1 \not= div_2 \\
\end{cases} \text{ where } \begin{aligned} \renewcommand\arraystretch{1.25}\begin{array}[t]{|@{\hskip0.6em}l} \delta =\{div_1, div_2\} \\ w = \{a,b\}
\end{array} \end{aligned}
\end{equation}
\end{document}