Input Components — MathJax 4.0 documentation (original) (raw)
Currently there are three MathJax input formats, each packaged into its own component.
These are described in more detail below. See theInput Processor Options section for details about configuring these components.
input/tex
The TeX input format is packaged in two different ways, depending on which extensions are included in the component. This gives you several possible trade-offs between file size and feature completeness. See the TeX and LaTeX input section for details about the TeX input processor.
Note
As the number of TeX extensions available in MathJax has grown, and with the availability of third-party extensions, it is impractical to include all of them in one components. Thus theinput/tex-full extension has been dropped from version 4.
When you include one of the TeX input components, MathJax will define functions to convert TeX strings into the output format that has been loaded and into the MathML format. See the Converting a Math String to Other Formatssection for details.
input/tex
This is the standard TeX input component. It includes the main TeX/LaTeX input parser, along with the base definitions for the most common macros and environments. It also includes the ams,newcommand, require, autoload,configmacros, textmacros, andnoundefined extensions. Most of the remaining extensions are loaded automatically when needed, or you can use \require to load any of them explicitly. This will cause the extensions to be loaded dynamically, so if you are calling MathJax’s typesetting or conversion methods yourself, you should use the promise-based versions in order to handle that properly.
See the TeX Input Processor Options section for information about configuring this component.
input/tex-base
This is a minimal TeX input component. It includes the main TeX/LaTeX input parser, along with the base definitions for the most common macros and environments. No other extensions are included, so no extensions are autoloaded, and you can not use \require. For this component, you must explicitly load the extensions you want to use, and add them to the packages array.
See the TeX Input Processor Options section for information about configuring this component.
TeX Extension Packages
Each of the TeX extensions listed in the The TeX/LaTeX Extension List has its own component. The name of the component is the name of the extension preceded by [tex]/ so the component for the encloseextension is [tex]/enclose. You can include any of the extension components in the load array of the loader section of your MathJax configuration, and add the extension to the packages array in the tex block. For example:
window.MathJax = { loader: {load: ['[tex]/enclose']}, tex: { packages: {'[+]', ['enclose']} } };
Of course, if you are using one of the packages that includes theautoload extension, then you don’t have to load most of the extensions explicitly, as they will be loaded automatically when first used. You can also use \require to load an extension explicitly, if needed.
See the TeX Extension Options section for information about configuring the TeX extensions.
Note
Version 3 included a [tex]/all-packages components that included most of the TeX extension packages. Due to the growing number of extensions, including third-party extensions, theall-packages extension has been dropped from v4.
input/mml
The input/mml component contains the MathML input processor, including the function that identifies MathML within the page. See the MathML input section for details concerning the MathML input processor. When you include the input/mml component, MathJax will define a function to convert serialized MathML strings into the output format that has been loaded. See theConverting a Math String to Other Formats section for details.
- See the MathML Support section for details about MathML output.
- See the MathML Input Processor Options section for information about configuring this component.
input/asciimath
The input/asciimath component contains the AsciiMath input processor, including the function that identifies AsciiMath within the page. See AsciiMath input section or details concerning the AsciiMath input processor. When you include the input/asciimathcomponent, MathJax will define functions to convert AsciiMath strings into the output format that has been loaded, and into the MathML format. See the Converting a Math String to Other Formats section for details.
See the AsciiMath Input Processor Options section for information about configuring this component.
Note
The AsciiMath input jax has not been fully ported to v3/v4 yet. The AsciiMath component includes legacy MathJax 2 code patched into the new MathJax framework. That makes the AsciiMath component larger than usual, and slower than the other input components.