MathJax
来自维基百科,自由的百科全书
MathJax是一個跨瀏覽器的JavaScript 程式庫,它使用MathML、LaTeX和ASCIIMathML標記在Web瀏覽器中顯示數學符號。[1][2][3]MathJax是在Apache授權條款下作為開源軟體發布的。
開發者 | American Mathematical Society |
---|---|
目前版本 | 3.2 |
原始碼庫 | |
程式語言 | JavaScript |
作業系統 | Cross-platform |
類型 | Mathematical software |
許可協定 | Apache License 2.0 |
網站 | www |
MathJax專案始於2009年,是早期JavaScript數學格式化程式庫jsMath的繼承者,[4]由美國數學學會管理。[5]該專案由美國數學學會、設計科學學會、工業和應用數學學會共同發起,並得到美國物理聯合會和Stack Exchange等眾多資助機構的支援。[6]
MathJax被arXiv[7]、愛思唯爾的ScienceDirect[8]、MathSciNet[9]、n-category cafe、MathOverflow、維基百科(在後台)[10][11]、Scholarpedia、Project Euclid期刊[12]、IEEE Xplore[13]、Publons、Coursera和全俄數學入口網站等網站使用。[14]
特性
MathJax下載網頁內容,掃描頁面內容尋找等式標記,並對數學進行排版。因此,MathJax不需要在閱讀器系統上安裝軟體或額外的字型。這允許MathJax在任何支援JavaScript的瀏覽器中執行,包括行動裝置。[15]
MathJax可以使用HTML和CSS的組合顯示數學,或者在可用時使用瀏覽器的原生MathML支援。MathJax用於排版數學的確切方法取決於使用者瀏覽器的功能、使用者系統上可用的字型和組態設定。MathJax 自 v2.0-beta版引入了SVG算繪功能。[16]
在HTML和CSS排版的情況下,MathJax透過使用數學字型(如果有的話)和使用舊瀏覽器的圖片來最大化數學顯示品質。對於支援Web字型的新瀏覽器,MathJax提供了一組全面的Web字型,可以根據需要下載。如果瀏覽器不支援Web字型,MathJax將檢查使用者系統上是否有有效的字型。如果這不起作用,MathJax將提供所需符號的圖片。可以配置MathJax來啟用或停用Web字型、本機字型和圖片字型。
MathJax使用STIX字型在Web頁面中包含數學。在本地電腦上安裝字型可以提高MathJax的排版速度。[17]
MathJax可以顯示用LaTeX或MathML標記編寫的數學符號。因為MathJax只用於數學顯示,而LaTeX是一種文件排版語言,所以MathJax只支援用於描述數學表示法的LaTeX子集。[15]
MathJax還透過其API將MathML公開給輔助技術軟體,以及基本的WAI-ARIA「角色」和更老的「altext」屬性,從而支援數學可訪問性。[18]
MathJax體系結構旨在透過動態載入的模組支援在將來添加輸入語言和顯示方法。MathJax還包括一個JavaScript API,用於列舉頁面中的數學實例並與之互動。
瀏覽器相容性
MathJax在大多數流行的瀏覽器中呈現數學,包括Internet Explorer 6+、Firefox 3+、Google Chrome 0.3+、Safari 2.0+、Opera 9.5+、iPhone/iPad Safari和Android瀏覽器。一些舊版本的瀏覽器不支援Web字型(使用@font-face CSS結構),因此它們必須使用MathJax圖片字型模式。瀏覽器相容性列表可以在官方網站上找到。[19]
外掛程式支援
MathJax可以很容易地添加到許多流行的Web平台上。[20]
Node.js
MathJax可以透過MathJax-node程式庫在NodeJS中使用[21]
公式編輯器的相容性
在受支援的瀏覽器中顯示的任何MathJax公式,都可以透過右鍵單擊或控制項單擊「Show Math as」子選單,以MathML或LaTeX格式複製出來。然後,它可以貼上到任何支援MathML或LaTeX的公式編輯器中,例如Mathematica、MathType、MathMagic、Firemath,以便重用。[22]
任何第三方公式編輯器以MathML或LaTeX格式生成的方程式都可以在支援MathJax的Web頁面中使用。
TeX支援
MathJax複製LaTeX的數學環境命令。透過擴充支援AMS-LaTeX數學命令。MathJax還支援TeX巨集和其他格式,比如\color
和\underline
。[23]
MathML支援
MathJax在beta 2版本中增加了對MathML 2.0和一些MathML 3.0構造的部分支援。MathJax支援演示MathML,並且從2.2版開始提供了對內容MathML的實驗性支援。[24]
CDN伺服器
MathJax站台提供了一個內容傳遞網路(CDN),其中,瀏覽器可以在執行時從CDN載入MathJax工作所需的JavaScript。這簡化了安裝,並確保始終使用程式庫的最新版本。隨著時間的推移,伺服器的使用從2011年的每月1.3TB流量增長到2017年的每月70TB流量。由於伺服器代管成本增加,主CDN伺服器於2017年4月底關閉。備用第三方CDN伺服器可用。[25]
另請參閱
- 類別:符號字型
- Google Chart API
- KaTeX
參考文獻
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.