const MathJax = require('./mathjax3/mathjax.js').MathJax;
const TeX = require('./mathjax3/input/tex.js').TeX;
const CHTML = require('./mathjax3/output/chtml.js').CHTML;
const adaptor = require('./mathjax3/adaptors/browserAdaptor.js').browserAdaptor;
require('./mathjax3/handlers/html.js').RegisterHTMLHandler(adaptor());
const html = MathJax.document(document, {
InputJax: new TeX({inlineMath: [['$', '$'], ['\\(', '\\)']]}),
OutputJax: new CHTML()
});
window.addEventListener('load', () => {
html.findMath()
.compile()
.getMetrics()
.typeset()
.updateDocument();
});
You control what gets loaded, what actions to perform, and when.