A trimmed down version of the MathJax library for use with electron and modern browsers.
mathjax-electron
allows you to render math inside your application while keeping the package size at a minimum. To achieve this we provide a preconfigured MathJax environment with only the necessary bits of the MathJax Library included.
The package size is 2.9 MB compared to 66 MB for a full MathJax installation. If you need support for different output formats and legacy browsers try mathjax-node
.
npm install mathjax-electron
Place the following line in the <head>
section of your document:
<script type="text/javascript" src="./node_modules/mathjax-electron/resources/MathJax/MathJax.js?config=electron"></script>
Now you can use MathJax inside you application.
To trigger a rendering on a specific container, you can either use our helper module:
var mathjaxHelper = require('mathjax-electron')
var container = document.createElement('div')
container.innerHTML = '$$\\sum\\limits_{i=0}^{\\infty} \\frac{1}{n^2}$$'
mathjaxHelper.typesetMath(container)
or the MathJax global:
var container = document.createElement('div')
container.innerHTML = '$$\\sum\\limits_{i=0}^{\\infty} \\frac{1}{n^2}$$'
MathJax.Hub.Queue(["Typeset", MathJax.Hub, container]);
For more information about synchronizing your code, consult the MathJax documentation.
To load MathJax dynamically, you can do:
var mathjaxHelper = require('mathjax-electron')
var container = document.createElement('div')
container.innerHTML = '$$\\sum\\limits_{i=0}^{\\infty} \\frac{1}{n^2}$$'
mathjaxHelper.loadAndTypeset(document, container)
If used for the first time it will initialize MathJax and trigger a rendering. After that it won't load MathJax again and only trigger the rendering.
Read the full API documentation.