如何在配置中的 MathJax 中定义自定义颜色?

How to define custom colors in MathJax in config?

注意: 我知道我可以通过 $$\definecolor{somecolor}{RGB}{1243,45,46}$$ 在 MathJax 中定义自定义颜色,然后将其用作 $$\color{somecolor}{test}$$.

问题: 但是,我想在 MathJax 配置对象中定义颜色,即我不想呈现相同的命令,例如$$\definecolor{somecolor}{RGB}{1243,45,46}$$ 每当我需要颜色时在每一页上。因此,我正在寻找一个看起来像这样的解决方案。

MathJax.Hub.Config({
  TeX: {
    // I can use this extension
    extensions: ["color.js"]
  }
  // I would like to define my custom colors here.
});

添加

MathJax.Hub.Register.StartupHook("TeX color Ready", function() {
     var color = MathJax.Extension["TeX/color"];
     color.colors["somecolor"] = color.getColor('RGB','123,45,46');
});

到配置块的底部(或者如果您使用 plain JS,将其放在 AuthorInit 调用中)。

更新

要回答评论中的问题,您可以通过直接写入颜色对象来在配置中使用 HTML 颜色。

MathJax.Hub.Register.StartupHook("TeX color Ready", function() {
     MathJax.Extension["TeX/color"].colors["somecolor"] = '#2B2B2B';
});

如果最重要的是要有一个颜色定义一次的中心位置,另一种解决方案是在 MathJax 配置文件中使用 TeX 扩展名“HTML.js”(found here)使用 CSS 定义自定义颜色。在 MathJax 配置文件中,在 TeX 下,添加扩展名:

MathJax.Hub.Config({
  TeX: {
    extensions: ["HTML.js"] //plus any other extensions
  }
});

然后您可以将 CSS 中的所有自定义颜色定义为 类,并将它们应用于 \{class}{math} 的表达式。例如,CSS 可以为每种颜色(此处为“红色”和“蓝色”)设置 类。

CSS

.red {color: #FF0011;}
.blue {color: #2200FF;}

然后 $$\class{red}{a+b} + \class{blue}{c}$$ 将创建表达式“a + b + c”,其中“a + b”是红色阴影,“c”是蓝色阴影。