Attention
Version 3 is now the current version of MathJax. This document is for version 2.
Third-party Extensions
MathJax can load extensions (and configurations) from arbitrary locations. This allows authors and developers to easily integrate custom code.
Custom extension path configuration
Usually, third-party extensions have to be specified with their full
paths (and matching loadComplete
calls); this limits portability. To
simplify this process, the MathJax configuration can include (possibly
multiple) third-party locations for easier reference.
To specify the URL, set MathJax.Ajax.config.path["Extra"]
in your
configuration file, for example,
<script type="text/x-mathjax-config">
MathJax.Ajax.config.path["Extra"] = "https://my.extra.com/mathjax/extra";
</script>
or equivalently,
<script type="text/javascript">
window.MathJax = {
AuthorInit: function () {
MathJax.Ajax.config.path["Extra"] = "https://my.extra.com/mathjax/extra";
}
};
</script>
Configuring this path will allow you to load extensions using the [Extra]
prefix. To continue the example, the following configuration would then load
http://my.extra.com/mathjax/extra/spiffy.js
.
MathJax.Hub.Config({
extensions: ["[Extra]/spiffy.js"]
});
Note that the extension’s loadComplete
call needs to match this path,
i.e., spiffy.js
should end with
MathJax.Ajax.loadComplete("[Extra]/spiffy.js");
MathJax Third-Party extension repository
We collect a list of third-party extensions on Github at github.com/mathjax/MathJax-third-party-extensions. This repository allows developers to publicize their custom extensions easily.
Note
The mirrored copy on the MathJax CDN at cdn.mathjax.org/mathjax/contrib/ has been retired alongside the MathJax CDN.
Note
You can disable the [Contrib]
path by loading MathJax with
noContrib
in the query string, e.g., MathJax.js?config=...&noContrib