使等号自动变为蓝色

使等号自动变为蓝色

我知道我们可以重新定义不等号,例如\le只需执行\let\oldle\le\def\le{\mathrel{...}}。但我不知道如何重新定义等号=。因此,如果我想自动将某些符号变为蓝色,我可以对不等号这样做,但不能对等号这样做。我该怎么做才能在数学模式下自动将等号变为蓝色?也就是说,我仍然希望只需=在数学模式下输入,它就会自动变为蓝色。只要只需要插入一次,我并不介意复杂的代码。

答案1

你需要让=数学变得活跃起来。

\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}

% set up = to be math active
\begingroup\lccode`~=`=\lowercase{\endgroup\def~}{\mathrel{\textcolor{blue}{\standardequal}}}
\AtBeginDocument{%
  \mathchardef\standardequal=\mathcode`= % save the standard =
  \mathcode`=="8000 % make = math active
}

\begin{document}

\begin{gather*}
a=b \\
a\standardequal b % for comparison
\end{gather*}

\end{document}

在此处输入图片描述

答案2

使用LuaLaTeX,您可以做到这一点。请参阅以下示例。(特别感谢@Mico回答

%!TeX Program = lualatex
\documentclass{article}
\usepackage{xcolor}
\usepackage{luacode}
\begin{luacode}
    function myreplace ( s )
    s = unicode.utf8.gsub ( s , '=', '\\textcolor{blue}{=}' )
    return s
    end
\end{luacode}

\begin{document}
\directlua{luatexbase.add_to_callback("process_input_buffer",
myreplace, "myreplace")}
=
\end{document}

相关内容