適用於所有瀏覽器的數學JavaScript顯示引擎——MathJax

介紹

MathJax是適用於所有現代瀏覽器的LaTeX,MathML和AsciiMath表示法的開源JavaScript顯示引擎。它的設計目標是將網絡技術的最新進展整合到支持主要瀏覽器和操作系統,單一的確定的網絡數學平臺上。它不需要用戶進行任何設置(無需下載插件或安裝軟件),因此頁面作者可以編寫包含數學的Web文檔,並確信用戶將能夠自然而輕鬆地查看它。只需在網頁中包含MathJax和一些數學運算,剩下的就由MathJax完成。


適用於所有瀏覽器的數學JavaScript顯示引擎——MathJax


github

https://github.com/mathjax/MathJax

適用於所有瀏覽器的數學JavaScript顯示引擎——MathJax


功能

MathJax的一些主要功能包括:

  • 在HTML頁面中高質量顯示LaTeX,MathML和AsciiMath表示法
  • 大多數瀏覽器都支持,沒有插件、額外的字體或針對閱讀器的特殊設置
  • 便於作者,對發佈者靈活,對開發人員可擴展支持數學可訪問性,
  • 剪切和粘貼互操作性以及其他高級功能
  • 與其他Web應用程序集成的強大API

MathJax組件

MathJax版本3使用稱為組件的文件,這些文件包含各種MathJax模塊,可以將其包含在網頁中或通過NodeJS在服務器上進行訪問。一些組件將運行MathJax所需的所有組件與一種或多種輸入格式和特定​​的輸出格式結合在一起,而其他組件是可以在需要時按需加載的組件,或通過指定要組合的組件的配置來組合自定義方式。有關使用說明,請參見MathJax文檔。組件提供了MathJax模塊的便捷包,但是你可以形成自己的自定義組件,也可以直接在服務器上的節點應用程序中使用MathJax的模塊。有一些Web示例示範瞭如何在網頁中使用MathJax以及如何構建自己的組件,還有一些節點示例說明如何在節點應用程序中使用組件或直接調用MathJax模塊。

安裝使用

如果要將MathJax從CDN加載到網頁中,則無需安裝任何程序。只需使用從CDN加載MathJax的腳本標籤。例如:

託管您自己的MathJax組件副本:

npm install mathjax
mv node_modules/mathjax/es5 <path-to-server-location>/mathjax
/<path-to-server-location>

或者,您可以通過GitHub獲取:

git clone https://github.com/mathjax/MathJax.git mj-tmp
mv mj-tmp/es5 <path-to-server-location>/mathjax
rm -rf mj-tmp
/<path-to-server-location>

然後(無論哪種情況),都可以使用如下腳本標籤:

其中<url-to-your-site>由URL替換為您將MathJax文件移至上方的位置的URL。/<url-to-your-site>

在Node.js應用程序中使用MathJax組件

要在Node.js應用程序中使用MathJax組件,請安裝mathjax軟件包:

npm install mathjax
require('mathjax').init({ ... }).then((MathJax) => { ... });

其中第一個{...}是MathJax配置,第二個{...}是加載MathJax之後要運行的代碼。例如。

require('mathjax').init({
loader: {load: ['input/tex', 'output/svg']}
}).then((MathJax) => {
const svg = MathJax.tex2svg('\\\\frac{1}{x^2-1}', {display: true});
console.log(MathJax.startup.adaptor.outerHTML(svg));
}).catch((err) => console.log(err.message));

在Web應用程序中的演示


適用於所有瀏覽器的數學JavaScript顯示引擎——MathJax

適用於所有瀏覽器的數學JavaScript顯示引擎——MathJax


總結

MathJax是一個面向數學的顯示JavaScript引擎,支持node和絕大多數瀏覽器,如果你正有類似的苦惱,不妨嘗試使用它,Enjoy it!


分享到:


相關文章: