覆盖 \everymath 颜色:是否有一种有效的方法可以对所有数组的每一行应用颜色,并且对情况也执行相同的操作?

覆盖 \everymath 颜色:是否有一种有效的方法可以对所有数组的每一行应用颜色,并且对情况也执行相同的操作?

TLDR;如何有效地在每个数组的每一行上应用颜色来覆盖颜色\everymath?即来自

在此处输入图片描述

在此处输入图片描述

(可编译的示例在底部)

有没有一种方法可以有效地应用于\color{black}所有数组的每一行(而不是逐行执行)?


我非常喜欢颜色,我想给所有内联数学运算涂上颜色,使文本更具可读性:

例如

但我希望显示数学的颜色保持黑色。

经过谷歌搜索后,我发现Stefan 的解决方案,它使用包中的\everymath和。但是,有一个已知问题:它不适用于中的某些数学环境。为了解决这个问题,他建议重新定义显示的数学,我在中找到了以下代码片段\everydisplayeverysel\everydisplayamsmathOP 对他的回答的评论

\let\originaldisplaystyle\displaystyle \renewcommand\displaystyle{\color{black}\originaldisplaystyle}
\let\oldeq\equation \def\equation{\oldeq\color{black}} 

因此我尝试将它们与一起使用,并且它们运行良好,只是&\everymath中的颜色没有被覆盖,我得到了如下结果: arraycases在此处输入图片描述

在此处输入图片描述

我尝试cases这样重新定义:

 \let\oldcase\cases \def\cases{\oldcase\color{black}}

但它只会覆盖第一个符号的颜色:

在此处输入图片描述

这是上面方程的乳胶:

\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}

另一方面,我Error: Illegal Character in array tag在尝试通过 重新定义数组时得到了结果\let\olda\array \def\array{\olda\color{black}}

但是,我可以通过将其放在\color{black}行首来更改数组的一行:

在此处输入图片描述

有没有办法有效地\color{black}对所有arrays 的每一行应用(而不是逐行执行)?我该如何做同样的事情cases


这是一个可编译的示例:

\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}

答案1

请记住,可编译的示例要好得多。您提供了很多信息,但我们仍然无法编译任何内容来帮助您。

\everymath{}在特定环境下随时恢复使用怎么样

\everymath{\color{red}} % May be it's more secure \everymath{\color{red}\everymath{}}

\usepackage{etoolbox}
\AtBeginEnvironment{alignat}{\everymath{}}
\AtBeginEnvironment{equation}{\everymath{}}
% etc.

相关内容