注意:我知道我可以在$$\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.
});
答案 0 :(得分:1)
添加
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';
});
答案 1 :(得分:0)
如果最重要的是在一次定义颜色的中心位置,另一种解决方案是在MathJax配置文件中使用TeX扩展名“ HTML.js”(found here)来定义自定义颜色使用CSS。在TeX下的MathJax配置文件中,添加扩展名:
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”是蓝色阴影。