[go: up one dir, main page]

MathJax

Beautiful and accessible math in all browsers

A JavaScript display engine for mathematics that works in all browsers.
No more setup for readers. It just works.

Services

Content Transformation

Stylized Epub logo MathJax provides tools to transform your content from traditional print sources into modern, accessible web content and ePubs.

Accessible Web and EPubs

Training and Teaching

Stylized mortarboard The MathJax team is available to train your staff in using our resources for preparing online teaching material and creating accessible STEM content.

Learn more

Consultancy

Stylized keyboard MathJax is highly flexible and can be tailored to the needs of your institution by creating customized configurations and specialized software workflows.

Contact us

Content Transformation

MathJax can help you with the conversion of math documents from legacy sources and print content as well as with the generation of novel content that is online ready and fully accessible for readers with special needs. The MathJax team is available to consult on putting the necessary workflows in place in your institution.

EPubs and Offline Content

MathJax can also be employed in server-side workflows to prepare content that can be viewed offline or generate documents that are compatible with modern ePub readers. Accessibility can be ensured by including alternative textual descriptions or more fine-grained speech annotations and Braille.

For further information on content-transformation services please contact us.

Training and Teaching

The members of the MathJax team are professors in their own institutions with a long and successful track record in teaching and research. We regularly give presentations and workshops on the use of MathJax and its accessibility features for online teaching at international events.

Support for Online Teaching

MathJax is compatible with most Learning Management systems. We can help you to transfer your mathematical teaching materials to the web, allowing your faculty to teach mathematics online in an inclusive and accessible manner.

Support for Online Examinations

Remote online examinations are increasingly important. MathJax can help in preparing exam materials that are not only visually of the highest quality but also ensures that they are accessible for all students regardless of their individual needs.

Staff Training

We train teachers, faculty, and staff on how to prepare fully accessible math course materials. Training programs can be tailored to your specific requirements and those of your audience. We cover a variety of topics including:

  • porting math documents from sources like LaTeX, Word, and PDF to web formats containing SVG and MathJax,
  • generating mathematical material that is both web-ready and ePub compatible,
  • web accessibility and WCAG guidelines for teaching material in mathematics, and
  • an introduction to assistive technologies for STEM subjects.

Please contact us for more information on how to get your teaching online and the training programs we can provide.

Consultancy

MathJax is a highly modular and flexible system that can be adapted to fit the needs of any application and any content: from static website to highly dynamic environments; from simple teaching handouts to highly sophisticated typesetting in scientific publishing. We can help you create the right configurations for you environments and adapt MathJax for the needs of your organization.

Upgrades

With the release of version 3.0, MathJax has moved to a modern TypeScript implementation. If you need advice on upgrading your local installation, or your content to use MathJax v3, please contact us.

Fonts

We support a variety of fonts and employ techniques to adapt rendering of formulas to fit visually to their surrounding text. Should you need a specialised font or rendering support, it can be incorporated into our production pipeline to be available as an extension for your organization or in the core system.

Conversion Workflows

MathJax is an essential tool in converting traditional print sources to accessible, web-ready content. We can advise you on what tool chain is best for your needs, assemble installations, and provide you with bespoke MathJax customizations.

Accessibility

We provide consultancy on how to adapt your existing web-content, software solutions, and workflows to make them fully accessible for users with visual and print impairments. We will work with your own personnel to ensure that your material is fully accessible.

If you have any particular needs for making MathJax working in your organization, please contact us regarding our consultancy services.

Features and Benefits

High-quality typography

MathJax uses CSS with web fonts or SVG, instead of bitmap images or Flash, so equations scale with surrounding text at all zoom levels.

View Samples

Modular Input & Output

MathJax is highly modular on input and output. Use MathML, TeX, and ASCIImath as input and produce HTML+CSS, SVG, or MathML as output.

Try a live demo

Accessible & reusable

MathJax works with screenreaders & provides expression zoom and interactive exploration. You also can copy equations into Office, LaTeX, wikis, and other software.

Learn more

Samples

Our homepage is configured to use MathJax's CommonHTML mode with web fonts to display the equations, which produces uniform layout and typesetting across browsers. But MathJax can also be configured to use HTML-CSS (for legacy browsers), SVG, and native MathML rendering when available in a browser. You can try the various output modes using the MathJax context Menu (which you access by ctrl+clicking / alt-clicking / right-clicking an equation) or the menu below.

The Quadratic Formula

\[x = {-b \pm \sqrt{b^2-4ac} \over 2a}\]

Cauchy's Integral Formula

\[f(a) = \frac{1}{2\pi i} \oint\frac{f(z)}{z-a}dz\]

Angle Sum Formula for Cosines

\[ \cos(\theta+\phi)=\cos(\theta)\cos(\phi)−\sin(\theta)\sin(\phi) \]

Gauss' Divergence Theorem

\[ \int_D ({\nabla\cdot} F)dV=\int_{\partial D} F\cdot ndS \]

Curl of a Vector Field

\[ \vec{\nabla} \times \vec{F} = \left( \frac{\partial F_z}{\partial y} - \frac{\partial F_y}{\partial z} \right) \mathbf{i} + \left( \frac{\partial F_x}{\partial z} - \frac{\partial F_z}{\partial x} \right) \mathbf{j} + \left( \frac{\partial F_y}{\partial x} - \frac{\partial F_x}{\partial y} \right) \mathbf{k} \]

Standard Deviation

\[\sigma = \sqrt{ \frac{1}{N} \sum_{i=1}^N (x_i -\mu)^2} \]

Definition of Christoffel Symbols

\[(\nabla_X Y)^k = X^i (\nabla_i Y)^k = X^i \left( \frac{\partial Y^k}{\partial x^i} + \Gamma_{im}^k Y^m \right)\]

Live Demo



Preview is shown here:

Accessibility and reuse.

Accessibility

MathJax provides a powerful set of accessibility extensions that provide navigation, exploration, and voicing on the client.

You can find more information in our introductory video on YouTube and our documentation.


Reuse

Using the MathJax context menu, you can access the source of any mathematical expression either in MathML format, or in its original format if that was TeX or AsciiMath.

To access the MathJax menu, right-click on a math formula (if you are using Windows), or Control-click it (if you are using a Mac) or touble-tap and hold on a touch device. In the sub-menu “Show Math as” you can choose between “MathML Code” and “TeX commands” to get a pop-up that allows you to copy the math source into another application. Try it out on the equation below!

\[ \left [ – \frac{\hbar^2}{2 m} \frac{\partial^2}{\partial x^2} + V \right ] \Psi = i \hbar \frac{\partial}{\partial t} \Psi \]

You can also watch our screencast on YouTube of a MathJax equation being copied and pasted into a variety of applications. Note that this screencast is based on MathJax v1.1 so the menu structure is a little different in the current version.

Getting Started MathJax version on GitHub MathJax version 2 legacy version on GitHub MathJax npm package MathJax sources npm package MathJax monthly jsdelivr hits

Web Integration

Whether you're a casual user, a serious author, or a professional developer, it's easy to integrate MathJax.

Start now

Server Integration

Our node package allows you to use MathJax on the server or integrate it into your development workflow.

Install now

Works everywhere

MathJax generates high-quality output on all browsers & platforms - even legacy browsers such as IE 6 (if you really have to).

Check our overview

A rich API

Use our extensive APIs to create interactive content, advanced authoring tools, and math-enabled web and mobile apps.

Dive deeper

Bugs, Issues, Code

We host our code, docs, and this site on GitHub. Please report issues & submit patches!

Visit us on GitHub

General Support

You can ask general questions on the MathJax-Users mailing list where the entire community can chime in.

Learn more

Simple integration

Adding MathJax to your web pages is easy to do.

If you are using a Content Management System (like Wordpress, Moodle, or Drupal) to generate your web site, there may be a plugin to add MathJax to your site already, e.g., for Wordpress or Drupal. You may need to download or activate the plugin, if one is available.

If you are using specialized authoring tools, such as LaTeX or Markdown, they might integrate MathJax out of the box or have plugins, e.g., for LaTeX, Markdown, or even epub.


Using MathJax version 3

If you write your own HTML (directly or via a template/theme engine), you can include MathJax by adding this snippet to your page:

<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>

Here's a pre-populated example on jsbin you can re-use.

Note: the configuration file tex-mml-chtml.js is a great way to test both TeX and MathML input options at once. You can find leaner combined components in our documentation.


If you use the snippet above, you will not need to change the version number in the src attribute every time the version of MathJax changes. If you want to always use a specific version, then use a reference like

<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js"></script>

Here's a pre-populated example on jsbin you can re-use.


Jump to our v3 docs

Using MathJax version 2

Some features from version 2 are still being ported to version 3. MathJax version 2 is still available, and you can continue to use that until version 3 includes the features that you need. We will make updates to version 2 until version 3 is complete. To load MathJax version 2 into your page, use this snippet:

<script async src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS_CHTML"></script>

More information is available in the version 2 documentation at the link below.

Jump to our v2 docs

Server Integration

If you prefer to render server-side, MathJax version 3 makes that easy as well. MathJax is available as a node package, which is easy to install via node's package manager npm using the command

npm install mathjax

Alternatively, MathJax is available on Packagist. Just add the following line to your require section in the composer.json file of your project

"mathjax/mathjax": "3.*"

Or simply download a copy of the latest distribution. This allows you to run MathJax on your server and configure it yourself. There are plenty of examples on how to use and configure MathJax for node in our MathJax Node Demos repository.


If you are a developer who wants to integrate MathJax more tightly into your development workflow, you can use our full code node package available npm with

npm install mathjax-full

Or simply download the source code directly.

Getting started with Node

A rich set of APIs

Our extensive APIs allow developers to create everything from interactive content, to advanced authoring tools, to math-enabled web and mobile apps.

To get started, check out how to use dynamic math content, or write your own custom component, or render on the server using NodeJS. To dive deeper, start with the landing page in

our API documentation

Browser support

MathJax generates consistent, high-quality output on all browsers & platforms. Our output formats support all the major browser, including: IE11, Edge, Chrome, Firefox, Safari, Opera, etc.

Version 2 of MathJax supported earlier versions of IE, back to IE6 in some output formats, so if you need to support extremely old browsers, you can continue to use MathJax v2.7 for those needs.

You can find additional details in our documentation

Sponsors

We are supported by the MathJax Sponsorship Program and through individual donations from people like you.

MathJax is a non-profit organization, registered with the IRS as a public charity under section 501(c)(3). Any contributions of support you make to MathJax, Inc., are tax deductible.

EIN: 88-1669159

MathJax, Inc., is registered with the Secretary of State in West Virginia.

The MathJax Sponsorship Program

The MathJax project was initiated in 2009 by Design Science, the American Mathematical Society (AMS) and the Society for Industrial and Applied Mathematics (SIAM) with the goal of creating a robust, easy-to-use, and universal solution for displaying high-quality mathematics online. From the beginning, MathJax was conceived as open-source software, on the principle that math display should be part of the common infrastructure of the web.

Providing a universal solution for online math display requires a long-term commitment. Our users need MathJax to be reliable and easy to use, now and in the future. This requires a continuous and coordinated rapid response to browser updates and bugs, keeping up with the proliferation of tablets, smartphones, and ebook readers, and a consistent approach towards new functionality and performance improvements. All of this is important to the community, and requires dedicated time, effort, and money.

Our founding sponsors have been very generous in providing funding; however, as more and more individuals and organizations are using MathJax and its benefit to the community is growing, its base of support grew via the Sponsorship Program. To ensure the long-term stability of MathJax, we continuously reach out to the community and ask organizations to contribute to the MathJax project by becoming a Friend, Supporter, or Partner. All MathJax sponsors share a demonstrated and significant interest in the dissemination of mathematics on the web, in particular through the MathJax project and its activities.

Please feel free to contact us for any further information about the sponsorship program.

MathJax Friends

By becoming a MathJax Friend, organizations show the community that they support the goal of easy-to-use, high-quality mathematics display on the web for everyone, and are contributing in a very concrete way to help MathJax realize that goal. MathJax Friends will be listed on the MathJax Sponsors page.

Summary of Benefits:

  • A name (with link) on the MathJax Sponsors page.
  • Use of the term “MathJax Friend” in corporate communications.

Annual contribution:
$500+

MathJax Supporters

MathJax Supporters make an important contribution to the project and demonstrate their commitment to a durable math display solution for the web. Upon joining, Supporters receive exposure on the MathJax website, Facebook page, and Twitter feed. This will alert their users to their interest in using the best math display technology to enhance their online viewing experience, and displays their support for a project benefitting the entire math, science, and education community.

Supporters also receive informative quarterly reports giving insight into project timelines, development plans, and upcoming activities. These reports enable to better plan their use of MathJax to take full advantage of MathJax resources to benefit their users.

Summary of Benefits (in addition to Friend benefits):

  • Quarterly reports summarizing timelines, development plans, and upcoming project activities.
  • Prominent, exclusive announcement in the News section on the MathJax homepage, a Twitter post, and Facebook update upon joining.
  • A small logo (with link) on the MathJax Sponsors page.
  • Use of the term “MathJax Supporter” and MathJax Supporter Badge in corporate communications.

Annual contribution:
$5,000+ (for-profit) / 3,000+ (not-for-profit)

MathJax Partners

MathJax Partners are a driving force behind the project. They are discussion partners in determining the long-term direction of the project, and through exclusive benefits, we seek to ensure that Partners can offer their readers the highest quality math display and user experience.

Partners receive priority support and consideration for enhancements through a dedicated technical contact. This technical contact will work to ensure that issues receive prompt attention and receive a timely resolution. The contact will also meet with Partners to understand their requirements, serve as a liaison to the technical team, and work with Partners to be sure their requirements are being addressed to the extent possible within resource and technology constraints.

Summary of Benefits (in addition to Supporter benefits):

  • Quarterly reports on the financial condition and budget forecasts for the project.
  • A dedicated technical contact to develop a personalized technical relationship, who will:
    • Coordinate priority response to technical issues and feature requests;
    • Work with Partners to understand and advise about technical requirements;
    • Organize one-on-one meetings, technical webinars and Q and A sessions with technical staff as needed.
  • A press release (optionally joint) upon joining.
  • A large logo (with link) and paragraph on the MathJax Sponsors page.
  • Use of the term “MathJax Partner” and MathJax Partner Badge in corporate communications.

Annual contribution:
$20,000+

For individuals and organization who would like to support MathJax, but aren’t able to become an official sponsor at this time, individual donations are also possible in any amount via the Donate button on the mathjax.org web site.


Founding Partners

The American Mathematical Society

The AMS, founded in 1888 to further the interests of mathematical research and scholarship, serves the national and international community through its publications, meetings, advocacy and other programs, which promote mathematical research, its communication and uses, encourage and promote the transmission of mathematical understanding and skills, support mathematical education at all levels, advance the status of the profession of mathematics, encouraging and facilitating full participation of all individuals, foster an awareness and appreciation of mathematics and its connections to other disciplines and everyday life. For more information, please visit www.ams.org.

The Society for Industrial and Applied Mathematics

SIAM is an international community of over 13,000 individual members. Almost 500 academic, manufacturing, research and development, service and consulting organizations, government, and military organizations worldwide are institutional members. SIAM fosters the development of applied mathematical and computational methodologies needed in these various application areas. Applied mathematics in partnership with computational science is essential in solving many real-world problems. Through publications, research, and community, the mission of SIAM is to build cooperation between mathematics and the worlds of science and technology. For more information, please visit www.siam.org.


Partners

IEEE Elsevier

IEEE

The Institute of Electrical and Electronics Engineers (IEEE) is the world’s largest professional association dedicated to advancing technological innovation and excellence for the benefit of humanity. IEEE and its members inspire a global community through IEEE’s highly cited publications, conferences, technology standards, and professional and educational activities. IEEE is designed to serve professionals involved in all aspects of the electrical, electronic and computing fields and related areas of science and technology that underlie modern civilization. Its 38 Societies and 7 technical Councils represent the wide range of IEEE technical interests. The IEEE Xplore Digital Library hosts more than 3 million documents, with more than 8 million downloads each month. For more information, please visit www.ieee.org.

Elsevier

Headquartered in Amsterdam, Elsevier serves more than 30 million scientists, students and health and information professionals worldwide. With more than 7,000 employees in 24 countries Elsevier partners with a global community of 7,000 journal editors, 70,000 editorial board members, 300,000 reviewers and 600,000 authors to help advance science and health by providing world-class information and innovative tools. Elsevier is a founding publisher of global programs that provide free or low-cost access to science and health information in the developing world. With its roots in journal and book publishing, Elsevier has fostered the peer-review process for more than 130 years.
For more information, please visit www.elsevier.com.


Supporters


Friends

About us

MathJax is a non-profit organization, registered with the IRS as a public charity under section 501(c)(3), with EIN 88-1669159. Any contributions of support you make to MathJax, Inc., are tax deductible.

Originally, MathJax was supported by The MathJax Consortium, a joint venture of the American Mathematical Society (AMS) and the Society for Industrial and Applied Mathematics (SIAM) to advance mathematical and scientific content on the web. We are grateful for the commitment offered by the Consortium for over 10 years, without which MathJax would not exist today.

Core Goals

The core of the MathJax project is the development of its state-of-the-art, open source, JavaScript platform for display of mathematics. Our key design goals are:

  • High-quality display of mathematics notation in all browsers.
  • Support for assistive technology, especially screen readers.
  • No special browser setup required.
  • Support for LaTeX, MathML, and other equation markup directly in the HTML source.
  • An extensible, modular design with a rich API for easy integration into web and node.js applications.
  • Support for copy and paste, SVG generation, MathML generation, and other such functionality.
  • Interoperability with other applications and math-aware search.
  • Support for equation conversion outside a browser (e.g., preprocessing on a server).

Board of Directors

  • Frank Tate
  • Constinia Charbonnette
  • Michael Gage
  • Volker Sorge
  • Davide Cervone

MathJax Steering Committee

The MathJax Steering Committee meets regularly to advise the MathJax team on its development goals and priorities. We’re grateful for the support of our committee members!

  • Robert Harington, AMS
  • Astrid van Hoeydonck, Elsevier
  • Ted Geis, Elsevier
  • D Kaluza, Elsevier
  • Andrew Heard, IEEE
  • Matthew Posey, SIAM
  • Suzanne Weeks, SIAM
  • Susan Palantino, SIAM
  • Davide Cervone, MathJax
  • Volker Sorge, MathJax

History

MathJax grew out of the popular jsMath project, an earlier javascript-based math rendering system developed by Davide Cervone in 2004. In the following years, there were many significant developments relevant for web publication of mathematics: consolidation of browser support for CSS 2.1, Web Font technology, adoption of math accessibility standards, and increasing usage of XML workflows for scientific publication.

In 2009, the AMS, Design Science, and SIAM formed the MathJax Consortium to enable Cervone and others to design MathJax from the ground up as a next-generation platform, while still benefiting from the extensive real-world experience gained from jsMath. Since its initial release in 2010, MathJax has become the gold standard for mathematics on the web.

In 2019, MathJax joined the NumFOCUS family of open-source software products as a fiscally sponsored project, and was thrilled to join that dynamic community.

In 2022, MathJax achieved a long-standing goal by applying for and receiving its own 501(c)3 status separate from NumFOCUS. Now as MathJax, Inc., incorporated in West Virginia, USA, MathJax left NumFOCUS with many thanks for their assistance in the preceeding years. MathJax continues to be supported by the founding sponsors and other partners.

Over the years since MathJax was first developed, new web technologies and paradigms emerged, and MathJax was not always easy to incoporate into these new approaches. In 2017, after nearly a decade of use, work on MathJax version 3 was begun, a complete rewrite of MathJax from the ground up using modern techniques. This new version integrates with current toolchains and frameworks, and can run equally well in a browser on a server, or in a stand-alone application. It should form a solid foundation for another decade of MathJax use, and its use of the Typescript language should make contributions from our user community easier to produce and incorporate into MathJax.

The MathJax Team

The MathJax team consists of Davide Cervone and Volker Sorge. Contributors include Christian Lawson-Perfect, Omar Al-Ithawi, and Peter Krautzberger.