介紹
MathJax是適用於所有現代瀏覽器的LaTeX,MathML和AsciiMath表示法的開源JavaScript顯示引擎。它的設計目標是將網絡技術的最新進展整合到支持主要瀏覽器和作業系統,單一的確定的網絡數學平台上。它不需要用戶進行任何設置(無需下載插件或安裝軟體),因此頁面作者可以編寫包含數學的Web文檔,並確信用戶將能夠自然而輕鬆地查看它。只需在網頁中包含MathJax和一些數學運算,剩下的就由MathJax完成。
github
https://github.com/mathjax/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/mathjax
或者,您可以通過GitHub獲取:
git clone https://github.com/mathjax/MathJax.git mj-tmp
mv mj-tmp/es5/mathjax
rm -rf mj-tmp
然後(無論哪種情況),都可以使用如下腳本標籤:
其中
在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應用程式中的演示
總結
MathJax是一個面向數學的顯示JavaScript引擎,支持node和絕大多數瀏覽器,如果你正有類似的苦惱,不妨嘗試使用它,Enjoy it!