Mathjax
Encyclopedia
MathJax is a cross-browser
Cross-browser
Cross-browser refers to the ability for a website, web application, HTML construct or client-side script to support all the web browsers. The term cross-browser is often confused with multi-browser...

 JavaScript library
JavaScript library
A JavaScript library is a library of pre-written JavaScript which allows for easier development of JavaScript-based applications, especially for AJAX and other web-centric technologies....

 that displays mathematical equations in web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

s, using LaTeX
LaTeX
LaTeX is a document markup language and document preparation system for the TeX typesetting program. Within the typesetting system, its name is styled as . The term LaTeX refers only to the language in which documents are written, not to the editor used to write those documents. In order to...

 math and MathML
MathML
Mathematical Markup Language is an application of XML for describing mathematical notations and capturing both its structure and content. It aims at integrating mathematical formulae into World Wide Web pages and other documents...

 markup. MathJax is released as open-source software
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...

 under the Apache license
Apache License
The Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....

.

The MathJax project started in 2009 as the successor to an earlier JavaScript mathematics formatting library, jsMath
Jsmath
jsMath is a JavaScript library for displaying mathematics in browsers in a cross-platform way. jsMath is free software released under the Apache License...

, and is managed by Design Science
Design Science (company)
Design Science, Inc. is a US-based Software Company that develops, markets and supports software for scientific and technical communication.-Profile:...

. The project is sponsored by the American Mathematical Society
American Mathematical Society
The American Mathematical Society is an association of professional mathematicians dedicated to the interests of mathematical research and scholarship, which it does with various publications and conferences as well as annual monetary awards and prizes to mathematicians.The society is one of the...

, Design Science
Design Science (company)
Design Science, Inc. is a US-based Software Company that develops, markets and supports software for scientific and technical communication.-Profile:...

, and the Society for Industrial and Applied Mathematics
Society for Industrial and Applied Mathematics
The Society for Industrial and Applied Mathematics was founded by a small group of mathematicians from academia and industry who met in Philadelphia in 1951 to start an organization whose members would meet periodically to exchange ideas about the uses of mathematics in industry. This meeting led...

 and is supported by the American Physical Society
American Physical Society
The American Physical Society is the world's second largest organization of physicists, behind the Deutsche Physikalische Gesellschaft. The Society publishes more than a dozen scientific journals, including the world renowned Physical Review and Physical Review Letters, and organizes more than 20...

, Elsevier
Elsevier
Elsevier is a publishing company which publishes medical and scientific literature. It is a part of the Reed Elsevier group. Based in Amsterdam, the company has operations in the United Kingdom, USA and elsewhere....

, and Project Euclid.

MathJax is used by web sites including MathSciNet, GitHub
Github
GitHub is a web-based hosting service for software development projects that use the Git revision control system. GitHub offers both commercial plans and free accounts for open source projects...

, n-category cafe
N-category cafe
n-category café is a group blog concerning higher category theory and its applications, as well as its philosophical repercussions. The founders of the blog are John Baez, David Corfield and Urs Schreiber, and the list of blog authors has extended since...

, MathOverflow, Project Euclid journals, and the All-Russian Mathematical Portal.

Features

MathJax downloads with web page content, scans the page content for equation markup, and typesets the math. Thus, MathJax requires no installation of software or fonts on the reader's system. This allows MathJax to run in any browser with JavaScript support, including mobile devices.

MathJax can display math by using a combination of HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

 and CSS
CSS
-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...

 or by using the browser's native MathML support, when available. The exact method MathJax uses to typeset math is determined by the capabilities of the user's browser, fonts available on the user's system, and configuration settings.

In the case of HTML and CSS typesetting, MathJax maximizes math display quality by using math fonts if available and by resorting to images for older browsers. For newer browsers that support web fonts, MathJax provides a comprehensive set of web fonts, which MathJax downloads as needed. If the browser does not support web fonts, MathJax checks if valid fonts are available on the user's system. If this does not work, MathJax provides images of any symbols needed. MathJax can be configured to enable or disable web fonts, local fonts, and image fonts.

MathJax can display mathematical notation written in LaTeX
LaTeX
LaTeX is a document markup language and document preparation system for the TeX typesetting program. Within the typesetting system, its name is styled as . The term LaTeX refers only to the language in which documents are written, not to the editor used to write those documents. In order to...

 or MathML
MathML
Mathematical Markup Language is an application of XML for describing mathematical notations and capturing both its structure and content. It aims at integrating mathematical formulae into World Wide Web pages and other documents...

 markup. Because MathJax is meant only for math display and LaTeX is a document layout language, MathJax only supports the subset of LaTeX used to describe mathematical notation.

MathJax also supports math accessibility by exposing MathML through its API to assistive technology
Assistive technology
Assistive technology or adaptive technology is an umbrella term that includes assistive, adaptive, and rehabilitative devices for people with disabilities and also includes the process used in selecting, locating, and using them...

 software, as well as the basic WAI-ARIA
WAI-ARIA
is a draft technical specification published by the World Wide Web Consortium that specifies how to increase the accessibility of dynamic content and user interface components developed with Ajax, HTML, JavaScript and related technologies...

 'role' and older 'altext' attributes.

The MathJax architecture is designed to support the addition of input languages and display methods in the future via dynamically loaded modules. MathJax also includes a JavaScript API for enumerating and interacting with math instances in a page.

Browser compatibility

MathJax renders math in most popular browsers, including Internet Explorer
Internet Explorer
Windows Internet Explorer is a series of graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems, starting in 1995. It was first released as part of the add-on package Plus! for Windows 95 that year...

 6, Firefox 3, Google Chrome
Google Chrome
Google Chrome is a web browser developed by Google that uses the WebKit layout engine. It was first released as a beta version for Microsoft Windows on September 2, 2008, and the public stable release was on December 11, 2008. The name is derived from the graphical user interface frame, or...

 0.3, Safari
Safari (web browser)
Safari is a web browser developed by Apple Inc. and included with the Mac OS X and iOS operating systems. First released as a public beta on January 7, 2003 on the company's Mac OS X operating system, it became Apple's default browser beginning with Mac OS X v10.3 "Panther". Safari is also the...

 2.0, Opera
Opera (web browser)
Opera is a web browser and Internet suite developed by Opera Software with over 200 million users worldwide. The browser handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, chatting on IRC, downloading files via BitTorrent,...

 9.5, iPhone
IPhone
The iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...

/iPad
IPad
The iPad is a line of tablet computers designed, developed and marketed by Apple Inc., primarily as a platform for audio-visual media including books, periodicals, movies, music, games, and web content. The iPad was introduced on January 27, 2010 by Apple's then-CEO Steve Jobs. Its size and...

 Safari, and the Android browser. Some older versions of browsers do not support web fonts (with the @font-face CSS
CSS
-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...

 construct), so they have to use MathJax image font mode. The browser compatibility list is available at the official site.

Server compatibility

MathJax can be installed on various web server platforms, including MediaWiki
MediaWiki
MediaWiki is a popular free web-based wiki software application. Developed by the Wikimedia Foundation, it is used to run all of its projects, including Wikipedia, Wiktionary and Wikinews. Numerous other wikis around the world also use it to power their websites...

, Drupal
Drupal
Drupal is a free and open-source content management system and content management framework written in PHP and distributed under the GNU General Public License. It is used as a back-end system for at least 1.5% of all websites worldwide ranging from personal blogs to corporate, political, and...

, WordPress
WordPress
WordPress is a free and open source blogging tool and publishing platform powered by PHP and MySQL. It is often customized into a content management system . It has many features including a plug-in architecture and a template system. WordPress is used by over 14.7% of Alexa Internet's "top 1...

, and Joomla.

TeX support

MathJax replicates the math environment commands of LaTeX. AMS-LaTeX
AMS-LaTeX
AMS-LaTeX is a collection ofLaTeX document classes and packages developed for the American Mathematical Society . Its additions to LaTeX include the typesetting of multi-line and other mathematical statements, document classes, and fonts containing numerous mathematical symbols.It has largely...

math commands are supported via extensions. MathJax also supports TeX macros and miscellaneous formatting like \color and \underline.

MathML support

MathJax added partial support for MathML 2.0 and some MathML 3.0 constructs in its beta 2 release. MathJax only supports presentation MathML.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK