MathJax

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
MathJax
開發者American Mathematical Society
目前版本
  • 3.2.2 (2022年6月8日;穩定版本)[1][2]
編輯維基數據連結
原始碼庫 編輯維基數據連結
程式語言JavaScript
作業系統Cross-platform
類型Mathematical software
許可協定Apache License 2.0
網站www.mathjax.org

MathJax是一個跨瀏覽器JavaScript 程式庫,它使用MathMLLaTeX和ASCIIMathML標記在Web瀏覽器中顯示數學符號[3][4][5]MathJax是在Apache授權條款下作為開源軟件發佈的。

MathJax專案始於2009年,是早期JavaScript數學格式化程式庫jsMath的繼承者,[6]美國數學學會管理。[7]該專案由美國數學學會、設計科學學會、工業和應用數學學會共同發起,並得到美國物理聯合會Stack Exchange等眾多資助機構的支援。[8]

MathJax被arXiv[9]愛思唯爾ScienceDirect[10]、MathSciNet[11]、n-category cafe、MathOverflow維基百科(在後台)[12][13]Scholarpedia、Project Euclid期刊[14]IEEE Xplore[15]、Publons、Coursera和全俄數學入門網站等網站使用。[16]

特性

MathJax下載網頁內容,掃描頁面內容尋找等式標記,並對數學進行排版。因此,MathJax不需要在閱讀器系統上安裝軟件或額外的字型。這允許MathJax在任何支援JavaScript的瀏覽器中執行,包括流動裝置。[17]

MathJax可以使用HTMLCSS的組合顯示數學,或者在可用時使用瀏覽器的原生MathML支援。MathJax用於排版數學的確切方法取決於用戶瀏覽器的功能、用戶系統上可用的字型和組態設置。MathJax 自 v2.0-beta版引入了SVG算繪功能。[18]

在HTML和CSS排版的情況下,MathJax透過使用數學字型(如果有的話)和使用舊瀏覽器的圖片來最大化數學顯示質素。對於支援Web字型的新瀏覽器,MathJax提供了一組全面的Web字型,可以根據需要下載。如果瀏覽器不支援Web字型,MathJax將檢查用戶系統上是否有有效的字型。如果這不起作用,MathJax將提供所需符號的圖片。可以配置MathJax來啟用或停用Web字型、本機字型和圖片字型。

MathJax使用STIX字型在Web頁面中包含數學。在本地電腦上安裝字型可以提高MathJax的排版速度。[19]

MathJax可以顯示用LaTeX或MathML標記編寫的數學符號。因為MathJax只用於數學顯示,而LaTeX是一種文件排版語言,所以MathJax只支援用於描述數學表示法的LaTeX子集。[17]

MathJax還透過其API將MathML公開給輔助技術軟件,以及基本的WAI-ARIA「角色」和更老的「altext」屬性,從而支援數學可訪問性。[20]

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圖片字型模式。瀏覽器相容性列表可以在官方網站上找到。[21]

外掛程式支援

MathJax可以很容易地添加到許多流行的Web平台上。[22]

Node.js

MathJax可以透過MathJax-node程式庫在NodeJS中使用[23]

公式編輯器的相容性

在受支援的瀏覽器中顯示的任何MathJax公式,都可以透過右鍵單擊或控制項單擊「Show Math as」子選單,以MathML或LaTeX格式複製出來。然後,它可以貼上到任何支援MathML或LaTeX的公式編輯器中,例如MathematicaMathType、MathMagic、Firemath,以便重用。[24]

任何第三方公式編輯器以MathML或LaTeX格式生成的方程式都可以在支援MathJax的Web頁面中使用。

TeX支援

MathJax複製LaTeX的數學環境命令。透過擴充支援AMS-LaTeX數學命令。MathJax還支援TeX巨集和其他格式,比如\color\underline[25]

MathML支援

MathJax在beta 2版本中增加了對MathML 2.0和一些MathML 3.0構造的部分支援。MathJax支援演示MathML,並且從2.2版開始提供了對內容MathML的實驗性支援。[26]

CDN伺服器

MathJax站台提供了一個內容傳遞網路(CDN),其中,瀏覽器可以在執行時從CDN載入MathJax工作所需的JavaScript。這簡化了安裝,並確保始終使用程式庫的最新版本。隨着時間的推移,伺服器的使用從2011年的每月1.3TB流量增長到2017年的每月70TB流量。由於伺服器寄存成本增加,主CDN伺服器於2017年4月底關閉。備用第三方CDN伺服器可用。[27]

另請參閱

  • 類別:符號字型
  • Google Chart API
  • KaTeX

參考文獻

  1. ^ Release 3.2.2. 2022年6月8日 [2022年10月28日]. 
  2. ^ https://registry.npmjs.com/mathjax; 檢索日期: 2023年3月3日.
  3. ^ MathJax: Rich Math display from LaTeX and MathML. [2018-12-21]. (原始內容存檔於2013-08-09). 
  4. ^ MathJax AsciiMath support. [2018-12-21]. (原始內容存檔於2018-03-23). 
  5. ^ 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). 
  6. ^ 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 .
  7. ^ AMS becomes managing partner of the MathJax Consortium. [2018-12-21]. (原始內容存檔於2020-10-25). 
  8. ^ MathJax Sponsorship. [2018-12-21]. (原始內容存檔於2021-02-02). 
  9. ^ arXiv.org help - What is MathJax?. [2018-12-21]. (原始內容存檔於2018-06-18). 
  10. ^ Archived copy. [2014-08-24]. (原始內容存檔於2014-08-26). 
  11. ^ MathSciNet What's New. [2018-12-21]. (原始內容存檔於2017-10-07). 
  12. ^ 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. 
  13. ^ Extension:Math - MediaWiki. www.mediawiki.org. [2017-04-06]. (原始內容存檔於2021-02-04) (英語). 
  14. ^ What is MathJax?. [2018-12-21]. (原始內容存檔於2019-06-26). 
  15. ^ New features in IEEE Xplore頁面存檔備份,存於互聯網檔案館), retrieved 2015-04-20.
  16. ^ All-Russian Mathematical Portal. [2018-12-21]. (原始內容存檔於2020-07-12). 
  17. ^ 17.0 17.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) 
  18. ^ MathJax v2.0-beta now available on CDN. February 11, 2012. (原始內容存檔於2020-05-05). 
  19. ^ MathJax Font Help頁面存檔備份,存於互聯網檔案館) accessed 2012-08-14.
  20. ^ MathJax: Accessibility. [2018-12-21]. (原始內容存檔於2021-02-02). 
  21. ^ MathJax: Browser Compatibility. [2018-12-21]. (原始內容存檔於2015-04-06). 
  22. ^ Using MathJax in popular web platforms. [2018-12-21]. (原始內容存檔於2017-08-31). 
  23. ^ mathjax-node. [2018-12-21]. (原始內容存檔於2020-05-17). 
  24. ^ Copy and Paste Math. [2018-12-21]. (原始內容存檔於2019-10-24). 
  25. ^ MathJax: Supported LaTeX Commands. [2018-12-21]. (原始內容存檔於2018-12-16). 
  26. ^ MathJax MathML Support — MathJax 2.3 documentation. [2018-12-21]. (原始內容存檔於2018-12-15). 
  27. ^ MathJax CDN shutting down on April 30, 2017. MathJax. 31 March 2017 [2018-12-21]. (原始內容存檔於2021-01-30). 

外部連結