跳至內容

MathJax

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
MathJax
開發者American Mathematical Society
當前版本3.2
源代碼庫 編輯維基數據鏈接
編程語言JavaScript
操作系統Cross-platform
類型Mathematical software
許可協議Apache License 2.0
網站www.mathjax.org

MathJax是一個跨瀏覽器JavaScript 程式庫,它使用MathMLLaTeX和ASCIIMathML標記在Web瀏覽器中顯示數學符號[1][2][3]MathJax是在Apache許可證下作為開源軟件發布的。

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可以使用HTMLCSS的組合顯示數學,或者在可用時使用瀏覽器的原生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的公式編輯器中,例如MathematicaMathType、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

參考文獻

  1. ^ MathJax: Rich Math display from LaTeX and MathML. [2018-12-21]. (原始內容存檔於2013-08-09). 
  2. ^ MathJax AsciiMath support. [2018-12-21]. (原始內容存檔於2018-03-23). 
  3. ^ Cuellar, Autumn; Topping, Paul. What you need to know about the Maths Stack. XML London 2013. June 2013: 63–68 [2018-12-21]. ISBN 978-0-9926471-0-0. doi:10.14337/XMLLondon13.Cuellar01. (原始內容存檔於2019-06-13). 
  4. ^ Hayes, Brian, Writing Math on the Web: The Web would make a dandy blackboard if only we could scribble an equation, American Scientist, 2009, 92 (2): 98, doi:10.1511/2009.77.98 .
  5. ^ AMS becomes managing partner of the MathJax Consortium. [2018-12-21]. (原始內容存檔於2020-10-25). 
  6. ^ MathJax Sponsorship. [2018-12-21]. (原始內容存檔於2021-02-02). 
  7. ^ arXiv.org help - What is MathJax?. [2018-12-21]. (原始內容存檔於2018-06-18). 
  8. ^ Archived copy. [2014-08-24]. (原始內容存檔於2014-08-26). 
  9. ^ MathSciNet What's New. [2018-12-21]. (原始內容存檔於2017-10-07). 
  10. ^ Schubotz, Moritz; Wicke, Gabriel. Intelligent Computer Mathematics. Lecture Notes in Computer Science 8543. 2014-01-01: 224–235. ISBN 978-3-319-08434-3. arXiv:1404.6179可免費查閱. doi:10.1007/978-3-319-08434-3_17. 
  11. ^ Extension:Math - MediaWiki. www.mediawiki.org. [2017-04-06]. (原始內容存檔於2021-02-04) (英語). 
  12. ^ What is MathJax?. [2018-12-21]. (原始內容存檔於2019-06-26). 
  13. ^ New features in IEEE Xplore頁面存檔備份,存於網際網路檔案館), retrieved 2015-04-20.
  14. ^ All-Russian Mathematical Portal. [2018-12-21]. (原始內容存檔於2020-07-12). 
  15. ^ 15.0 15.1 Cervone, Davide, Math Jax: A Platform for Mathematics on the Web (PDF), Notices of the American Mathematical Society, 2012, 59 (2): 312–316 [2018-12-21], doi:10.1090/noti794, (原始內容存檔 (PDF)於2020-02-15) 
  16. ^ MathJax v2.0-beta now available on CDN. February 11, 2012. (原始內容存檔於2020-05-05). 
  17. ^ MathJax Font Help頁面存檔備份,存於網際網路檔案館) accessed 2012-08-14.
  18. ^ MathJax: Accessibility. [2018-12-21]. (原始內容存檔於2021-02-02). 
  19. ^ MathJax: Browser Compatibility. [2018-12-21]. (原始內容存檔於2015-04-06). 
  20. ^ Using MathJax in popular web platforms. [2018-12-21]. (原始內容存檔於2017-08-31). 
  21. ^ mathjax-node. [2018-12-21]. (原始內容存檔於2020-05-17). 
  22. ^ Copy and Paste Math. [2018-12-21]. (原始內容存檔於2019-10-24). 
  23. ^ MathJax: Supported LaTeX Commands. [2018-12-21]. (原始內容存檔於2018-12-16). 
  24. ^ MathJax MathML Support — MathJax 2.3 documentation. [2018-12-21]. (原始內容存檔於2018-12-15). 
  25. ^ MathJax CDN shutting down on April 30, 2017. MathJax. 31 March 2017 [2018-12-21]. (原始內容存檔於2021-01-30). 

外部連結