2015-04-15 36 views
0

我有一些公式在飛行中生成。 Mathjax不會將雙重否定變爲正數。例如,我想讓「1 - 1」變成「1 + 1」。 「1 + - 1 = 1 - 1」也一樣。如何在MathJax中正確呈現雙重底片?

有沒有辦法強制MathJax做到這一點?

Ofcourse我可以在代碼中做這一步,但它使我的公式模板醜陋。

謝謝

回答

1

MathJax不是計算機代數系統,它只是一個數學排版系統。它不瞭解它所排版的數學,所以不能對方程進行變換。你必須自己做。

可以爲TeX輸入處理器註冊預過濾器,因此您可以在MathJax評估之前使用該方法修改TeX代碼。例如,將

<script type="text/x-mathjax-config"> 
    MathJax.Hub.Register.StartupHook("TeX Jax Ready",function() { 
    MathJax.InputJax.TeX.prefilterHooks.Add(function (data) { 
     data.math = data.math.replace(/- *-/g,"+") 
          .replace(/- *+|+ *-/g,"-"); 
    }); 
    }); 
</script> 

之前加載MathJax.js本身的腳本。這可能會做你需要的。

+0

謝謝!我已經開始探索鉤,但你已經爲我做了。 –