### Navigation

- index
- next |
- previous |
- MathJax v2.0 documentation »
- The MathJax API »

# 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.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).

### Navigation

- index
- next |
- previous |
- MathJax v2.0 documentation »
- The MathJax API »