A collection of MathJax extensions provided by third-party contributors
Switch branches/tags
Nothing to show
Clone or download
pkra Merge pull request #42 from nabijaczleweli/master
Add syntax highlighting and missing link to README
Latest commit 458dd95 Aug 15, 2017
Failed to load latest commit information.



A list of MathJax extensions provided by third-party contributors.

Note The old version of this repository was retired alongside the MathJax CDN; see #39.

Third Party Extensions

  • arabic.js
    • TeX input extension that provides basic Arabic support.
  • mhchem
    • TeX input extension for typesetting chemical equations, by the maintainer of the original mhchem LaTeX package.
  • img
    • TeX input extension for using images
  • xyjax
    • TeX input extension for typesetting xypic diagrams.
  • siunitx
    • TeX input extension implementing much of the siunitx LaTeX package.
  • physics
    • TeX input extension implementing much of the physics LaTeX package.

Legacy extension

You can find older (unmaintained) extensions in the legacy folder of this repository.


Add your extension! Simply create a pull request adding a link to README.md.

Please structure your extension along the lines of existing third-party extensions. In particular, make sure that

  • Add a README file
    • Include basic usage information for your extension (see other extensions for inspiration).
  • Add a license.
    • We require Apache-license-2-compatible licenses.
  • Custom path in loadComplete call
    • The loadComplete call in your extension should be of the form [myextension]/filename.js to work generically with third party locations.
    • Note a clash of your prefix with another extension's prefix will usually mean that people can't use both extensions at the same time.
  • Tag it!
    • individual releases allow version specific loading from CDN providers.

We also suggest submitting your extension to cdnjs and jsdelivr -- and of course there's always rawgit.com.

Using third party extensions.

For more details, see the MathJax documentation.

A) Specify the path, e.g.,

<script type="text/x-mathjax-config">
  MathJax.Ajax.config.path["spiffy"] = "https://path/to/spiffy";

or equivalently,

<script type="text/javascript">
  window.MathJax = {
    AuthorInit: function () {
            MathJax.Ajax.config.path["spiffy"] = "https://path/to/spiffy";

B) Add the extension to your configuration, e.g.,

  extensions: ["[spiffy]/spiffy.js"]

Writing extensions

The MathJax documentation contains a tutorial on extension writing.

Afterwards, you might want to start by looking at some of the extensions here and the MathJax core extensions.