A list of MathJax extensions provided by third-party contributors for MathJax version 2.
WARNING: This repository is for version 2 of MathJax. The API for extensions is quite different for version 3. See the MathJax Documentation for more on extensions in version 3.
Note: An older version of this repository was retired alongside the MathJax CDN in 2017; see #39.
- 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.
- TeX input extension for typesetting chemical equations, by the maintainer of the original
- img
- TeX input extension for using images
- xyjax
- TeX input extension for typesetting
xypic
diagrams.
- TeX input extension for typesetting
- siunitx
- TeX input extension implementing much of the
siunitx
LaTeX package.
- TeX input extension implementing much of the
- physics
- TeX input extension implementing much of the
physics
LaTeX package.
- TeX input extension implementing much of the
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.
- The
- 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.
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";
</script>
or equivalently,
<script type="text/javascript">
window.MathJax = {
AuthorInit: function () {
MathJax.Ajax.config.path["spiffy"] = "https://path/to/spiffy";
}
};
</script>
B) Add the extension to your configuration, e.g.,
MathJax.Hub.Config({
extensions: ["[spiffy]/spiffy.js"]
});
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.