Utente:Simone Biancolilla/MathJax

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
MathJax
software
Logo
Logo

MathJax è una libreria JavaScript cross-browser che visualizza la notazione matematica nei browser Web, utilizzando il markup MathML, LaTeX e ASCIIMathML . [1] [2] [3] MathJax è rilasciato come software open source con licenza Apache .

Il progetto MathJax è iniziato nel 2009 come successore di una precedente libreria di formattazione matematica JavaScript, jsMath, [4] ed è gestito dall'American Mathematical Society . [5] Il progetto è stato fondato dall'American Mathematical Society, Design Science e dalla Society for Industrial and Applied Mathematics ed è supportato da numerosi sponsor come l' American Institute of Physics e Stack Exchange . [6]

MathJax è utilizzato da siti web tra cui arXiv, [7] Elsevier 's ScienceDirect, [8] MathSciNet, [9] n-category cafe, MathOverflow, Wikipedia (sul back-end), [10] [11] Scholarpedia, Project Euclid journals, [12] IEEEXplore, [13] Publons, Coursera e il portale matematico tutto russo . [14]

Caratteristiche[modifica | modifica wikitesto]

MathJax viene scaricato come parte di una pagina Web, esegue la scansione della pagina per il markup matematico e impagina le informazioni matematiche di conseguenza. Pertanto, MathJax non richiede l'installazione di software o font aggiuntivi sul sistema del lettore. Ciò consente a MathJax di funzionare in qualsiasi browser che supporti JavaScript, inclusi i dispositivi mobile. [15]

MathJax può visualizzare le formule matematiche utilizzando una combinazione di HTML e CSS o utilizzando il supporto MathML nativo del browser, se disponibile. Il metodo esatto utilizzato da MathJax per comporre le formule matematiche è determinato dalle capacità del browser dell'utente, dai font disponibili sul sistema dell'utente e dalle impostazioni di configurazione. MathJax v2.0-beta ha introdotto il rendering SVG. [16]

Nel caso della composizione HTML e CSS, MathJax massimizza la qualità di visualizzazione della matematica utilizzando i caratteri matematici se disponibili e ricorrendo alle immagini per i browser meno recenti. Per i browser più recenti che supportano i caratteri Web, MathJax fornisce un set completo di caratteri Web, che MathJax scarica secondo necessità. Se il browser non supporta i caratteri Web, MathJax verifica se sul sistema dell'utente sono disponibili caratteri validi. Se questo non funziona, MathJax fornisce immagini di tutti i simboli necessari.  MathJax può essere configurato per abilitare o disabilitare i caratteri Web, i caratteri locali e i caratteri immagine.

MathJax utilizza i font STIX per includere la matematica nelle pagine web. L'installazione dei caratteri sul computer locale migliora la velocità di composizione di MathJax. [17]

MathJax può visualizzare notazioni matematiche scritte in markup LaTeX o MathML . Poiché MathJax è pensato solo per la visualizzazione di matematica, mentre LaTeX è un linguaggio di layout di documenti, MathJax supporta solo il sottoinsieme di LaTeX utilizzato per descrivere la notazione matematica.

MathJax supporta anche l'accessibilità alla matematica esponendo il MathML attraverso la sua API a software di tecnologia assistiva, così come il "ruolo" WAI-ARIA di base e gli attributi "altext" più vecchi. [18]

L'architettura MathJax è progettata per supportare l'aggiunta di linguaggi di input e metodi di visualizzazione in futuro tramite moduli caricati dinamicamente. MathJax include anche un'API JavaScript per enumerare e interagire con le istanze matematiche in una pagina.

Compatibilità del browser[modifica | modifica wikitesto]

MathJax esegue il rendering della matematica nei browser più diffusi, inclusi Internet Explorer 6+, Firefox 3+, Google Chrome 0.3+, Safari 2.0+, Opera 9.5+, iPhone / iPad Safari e il browser Android . Alcune versioni precedenti dei browser non supportano i caratteri Web (con il costrutto CSS @font-face), quindi devono utilizzare la modalità carattere immagine MathJax. L'elenco di compatibilità del browser è disponibile sul sito ufficiale. [19]

Supporto plug-in[modifica | modifica wikitesto]

MathJax può essere facilmente aggiunto a molte piattaforme web popolari. [20]

Node.js[modifica | modifica wikitesto]

MathJax può essere utilizzato in NodeJS dalla versione 3; [21] per la versione 2, la libreria MathJax-node [22] fornisce compatibilità NodeJS.

Compatibilità dell'editor di equazioni[modifica | modifica wikitesto]

Qualsiasi equazione MathJax visualizzata in un browser supportato può essere copiata in formato MathML o LaTeX tramite il sottomenu "Mostra matematica come" se si fa clic con il pulsante destro del mouse o si fa clic tenendo premuto il tasto Ctrl. Quindi può essere incollato in qualsiasi editor di equazioni che supporti MathML o LaTeX, come Mathematica, MathType, MathMagic, Firemath per il riutilizzo. [23]

Le equazioni generate in formato MathML o LaTeX da qualsiasi editor di equazioni di terze parti possono essere utilizzate nelle pagine Web abilitate per MathJax.

Supporto TeX[modifica | modifica wikitesto]

MathJax replica i comandi dell'ambiente matematico di LaTeX. I comandi matematici di AMS-LaTeX sono supportati tramite estensioni. MathJax supporta anche macro TeX e formattazioni varie come \color e \underline . [24]

Supporto per il MathML[modifica | modifica wikitesto]

MathJax ha aggiunto un supporto parziale per MathML 2.0 e alcuni costrutti MathML 3.0 nella sua versione beta 2. MathJax supporta il MathML di presentazione e, a partire dalla versione 2.2, fornisce supporto sperimentale per il contenuto MathML. [25]

Server CDN[modifica | modifica wikitesto]

Il sito MathJax ha fornito una rete di distribuzione dei contenuti (CDN) in cui il JavaScript necessario per il funzionamento di MathJax può essere caricato dal browser in fase di esecuzione dalla CDN. Ciò semplifica l'installazione e garantisce che venga sempre utilizzata la versione più recente della libreria. Nel tempo l'utilizzo del server è passato da 1,3 TB al mese di traffico nel 2011 a 70 TB al mese nel 2017. A causa dell'aumento dei costi di hosting del server, il server CDN principale è stato chiuso alla fine di aprile 2017. Sono disponibili server CDN di terze parti alternativi. [26]

link esterni[modifica | modifica wikitesto]

  1. ^ ajaxian.com, http://ajaxian.com/archives/mathjax.
  2. ^ docs.mathjax.org, http://docs.mathjax.org/en/latest/asciimath.html. URL consultato il 7 aprile 2013.
  3. ^ What you need to know about the Maths Stack, June 2013, DOI:10.14337/XMLLondon13.Cuellar01.
  4. ^ vol. 92, 2009, DOI:10.1511/2009.77.98. .
  5. ^ mathjax.org, https://www.mathjax.org/ams-becomes-managing-partner-of-the-mathjax-consortium/.
  6. ^ mathjax.org, https://www.mathjax.org/#sponsors.
  7. ^ arxiv.org, https://arxiv.org/help/mathjax.
  8. ^ elsevier.com, http://www.elsevier.com/physical-sciences/mathematics/mathjax. URL consultato il 24 agosto 2014.
  9. ^ ams.org, https://www.ams.org/mathscinet/help/about.html.
  10. ^ Lecture Notes in Computer Science, vol. 8543, pp. 224–235, DOI:10.1007/978-3-319-08434-3_17, ISBN 978-3-319-08434-3.
  11. ^ (EN) www.mediawiki.org, https://www.mediawiki.org/wiki/Extension:Math. URL consultato il 6 aprile 2017.
  12. ^ projecteuclid.org, http://projecteuclid.org/DPubS?Service=UI&version=1.0&verb=Display&handle=euclid&page=about&aboutPage=about_mathjax&aboutArea=subscribers.
  13. ^ ieeexplore.ieee.org, https://ieeexplore.ieee.org/Xplorehelp/. URL consultato il 5 agosto 2021.
  14. ^ mathnet.ru, http://www.mathnet.ru/index.phtml/?option_lang=eng.
  15. ^ vol. 59, 2012, DOI:10.1090/noti794, https://www.ams.org/notices/201202/rtx120200312p.pdf.
  16. ^ mathjax.org, https://www.mathjax.org/mathjax-v2-0-beta-now-available-on-cdn/.
  17. ^ MathJax Font Help Archiviato il 28 luglio 2012 in Internet Archive. accessed 2012-08-14.
  18. ^ mathjax.org, https://www.mathjax.org/#modal-zoom.
  19. ^ docs.mathjax.org, http://docs.mathjax.org/en/latest/misc/browser-compatibility.html. URL consultato il 5 giugno 2017.
  20. ^ docs.mathjax.org, http://docs.mathjax.org/en/latest/misc/platforms.html. URL consultato il 5 giugno 2017.
  21. ^ docs.mathjax.org, http://docs.mathjax.org/en/v3.0-latest/upgrading/whats-new-3.0.html#server-side-mathjax.
  22. ^ npmjs.com, https://www.npmjs.com/package/mathjax-node.
  23. ^ mathjax.org, http://www.mathjax.org/demos/copy-and-paste/.
  24. ^ docs.mathjax.org, http://docs.mathjax.org/en/latest/tex.html#supported-latex-commands. URL consultato il 5 giugno 2017.
  25. ^ docs.mathjax.org, http://docs.mathjax.org/en/latest/mathml.html#content-mathml. URL consultato il 14 febbraio 2014.
  26. ^ MathJax, https://www.mathjax.org/cdn-shutting-down/.