Attention

Version 3 is now the current version of MathJax. This document is for version 2.

The MathJax variable

MathJax has a single global variable, MathJax, in which all its data, and the data for loaded components, are stored. The MathJax variable is a nested structure, with its top-level properties being objects themselves.

Main MathJax Components

MathJax.Hub

Contains the MathJax hub code and variables, including the startup code, the onload handler, the browser data, and so forth.

MathJax.Ajax

Contains the code for loading external modules and creating stylesheets. Most of the code that causes MathJax to operate asynchronously is handled here.

MathJax.Message

Contains the code to handle the intermittent message window that periodically appears in the lower left-hand corner of the window.

MathJax.HTML

Contains support code for creating HTML elements dynamically from descriptions stored in JavaScript objects.

MathJax.CallBack

Contains the code for managing MathJax callbacks, queues and signals.

MathJax.Extension

Initially empty, this is where extensions can load their code. For example, the tex2jax preprocessor creates MathJax.Extension.tex2jax for its code and variables.

MathJax.Menu

Initially null, this is where the MathJax contextual menu is stored, when extensions/MathMenu.js is loaded.

MathJax.Localization

Contains the code for handling localized strings for MathJax’s interface.

MathJax.Object

Contains the code for the MathJax object-oriented programming model.

MathJax.InputJax

The base class for all input jax objects. Subclasses for specific input jax are created as sub-objects of MathJax.InputJax. For example, the TeX input jax loads itself as MathJax.InputJax.TeX.

MathJax.OutputJax

The base class for all output jax objects. Subclasses for specific output jax are created as sub-objects of MathJax.OutputJax. For example, the HTML-CSS output jax loads itself as MathJax.OutputJax["HTML-CSS"].

MathJax.ElementJax

The base class for all element jax objects. Subclasses for specific element jax are created as sub-objects of MathJax.ElementJax. For example, the mml element jax loads itself as MathJax.ElementJax.mml.

Properties

MathJax.version

The version number of the MathJax library as a whole.

MathJax.fileversion

The version number of the MathJax.js file specifically.

MathJax.isReady

This is set to true when MathJax is set up and ready to perform typesetting actions (and is null otherwise).