.. _api-jax: ****************** The Base Jax Class ****************** The `MathJax.InputJax`, `MathJax.OutputJax` and `MathJax.ElementJax` classes are all subclasses of the base `Jax` class in MathJax. This is a private class that implements the methods common to all three other jax classes. Unlike most MathJax.Object classes, calling the class object creates a *subclass* of the class, rather than an instance of the class. E.g., .. code-block:: javascript MathJax.InputJax.MyInputJax = MathJax.InputJax({ name: "MyInputJax", version: "1.0", ... }); creates ``MathJax.InputJax.MyInputJax`` as a subclass of ``MathJax.InputJax``. Class Properties ================ .. describe:: directory The name of the jax directory (usually ``"[MathJax]/jax"). Overridden in the subclass to be the specific directory for the class, e.g. ``"[MathJax]/jax/input"``. .. describe:: extensionDir The name of the extensions directory (usually ``"[MathJax]/extensions"``). Instance Properties =================== .. describe:: name The name of the jax. .. describe:: version The version number of the jax. .. describe:: directory The directory for the jax (e.g., ``"[MathJax]/jax/input/TeX"``). .. describe:: require: null An array of files to load before the ``jax.js`` file calls the :meth:`MathJax.Ajax.loadComplete()` method. .. describe:: config: {} An object that contains the default configuration options for the jax. These can be modified by the author by including a configuration subsection for the specific jax in question. Methods ======= .. Method:: Translate(script) This is the method that the ``MathJax.Hub`` calls when it needs the input or output jax to process the given math ``