Javascript MathJax将宏定义为final或last
我的任务是将Javascript MathJax将宏定义为final或last,javascript,latex,mathjax,tex,Javascript,Latex,Mathjax,Tex,我的任务是将\overline符号转换为\overleftrightarrow,并将\oversegment转换为\overline。问题是,这是我从输入中得到的(我知道这是根本错误的),但我无法修改它 因此,根据这一来源: 我定义了我的宏: MathJax.Hub.Config({ TeX: { Macros: { overline: ["{\\overleftrightarrow{#1}}", 1], oversegme
\overline
符号转换为\overleftrightarrow
,并将\oversegment
转换为\overline
。问题是,这是我从输入中得到的(我知道这是根本错误的),但我无法修改它
因此,根据这一来源:
我定义了我的宏:
MathJax.Hub.Config({
TeX: {
Macros: {
overline: ["{\\overleftrightarrow{#1}}", 1],
oversegment: ["{\\overline{#1}}", 1]
}
}
});
问题是,当我使用
\oversegment
输入时,第二个宏将其转换为\overline
,然后第一个宏将其再次转换为\overleftrightarrow
,这是错误的。我希望它只转换一次,并使其成为最终版本。考虑到宏的处理方式,没有一种简单的方法。最好的方法似乎是复制,即将此函数添加到内联配置块中
<script type="text/x-mathjax-config">
MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () {
var MML = MathJax.ElementJax.mml;
MathJax.InputJax.TeX.Definitions.Add({
macros: {
oversegment: ['UnderOver','00AF']
}
});
});
</script>
MathJax.Hub.Register.StartupHook(“TeX-Jax-Ready”,函数(){
var MML=MathJax.ElementJax.MML;
MathJax.InputJax.TeX.Definitions.Add({
宏:{
超频段:['UnderOver','00AF']
}
});
});
在我发现用我尝试过的方法使用宏是不可能的之后,我认为您的答案在给定的情况下是最好的-谢谢!