TLDR;如何有效地在每个数组的每一行上应用颜色来覆盖颜色\everymath
?即来自
到
(可编译的示例在底部)
有没有一种方法可以有效地应用于\color{black}
所有数组的每一行(而不是逐行执行)?
我非常喜欢颜色,我想给所有内联数学运算涂上颜色,使文本更具可读性:
但我希望显示数学的颜色保持黑色。
经过谷歌搜索后,我发现Stefan 的解决方案,它使用包中的\everymath
和。但是,有一个已知问题:它不适用于中的某些数学环境。为了解决这个问题,他建议重新定义显示的数学,我在中找到了以下代码片段\everydisplay
everysel
\everydisplay
amsmath
OP 对他的回答的评论:
\let\originaldisplaystyle\displaystyle \renewcommand\displaystyle{\color{black}\originaldisplaystyle}
\let\oldeq\equation \def\equation{\oldeq\color{black}}
因此我尝试将它们与一起使用,并且它们运行良好,只是&\everymath
中的颜色没有被覆盖,我得到了如下结果:
array
cases
我尝试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}
对所有array
s 的每一行应用(而不是逐行执行)?我该如何做同样的事情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.