SVG Output Processor Options

The options below control the operation of the SVG output processor that is run when you include 'output/svg' in the load array of the loader block of your MathJax configuration, or if you load a combined component that includes the CommonHTML output jax. They are listed with their default values. To set any of these options, include an svg section in your MathJax global object.


The Configuration Block

MathJax = {
  svg: {
    scale: 1,                      // global scaling factor for all expressions
    minScale: .5,                  // smallest scaling factor to use
    matchFontHeight: true,         // true to match ex-height of surrounding font
    mtextInheritFont: false,       // true to make mtext elements use surrounding font
    merrorInheritFont: true,       // true to make merror text use surrounding font
    mathmlSpacing: false,          // true for MathML spacing rules, false for TeX rules
    skipAttributes: {},            // RFDa and other attributes NOT to copy to the output
    exFactor: .5,                  // default size of ex in em units
    displayAlign: 'center',        // default for indentalign when set to 'auto'
    displayIndent: '0',            // default for indentshift when set to 'auto'
    fontCache: 'local',            // or 'global' or 'none'
    localID: null,                 // ID to use for local font cache (for single equation processing)
    internalSpeechTitles: true,    // insert <title> tags with speech content
    titleID: 0                     // initial id number to use for aria-labeledby titles
  }
};

Option Descriptions

fontCache: 'local'

This setting determines how the SVG output jax manages characters that appear multiple times in an equation or on a page. The SVG processor uses SVG paths to display the characters in your math expressions, and when a character is used more than once, it is possible to reuse the same path description; this can save space in the SVG image, as the paths can be quite complex. When set to 'local', MathJax will cache font paths on an express-by-expression (each expression has its own cache within the SVG image itself), which makes the SVG self-contained, but still allows for some savings if characters are repeated. When set to 'global', a single cache is used for all paths on the page; this gives the most savings, but makes the images dependent on other elements of the page. When set to 'none', no caching is done and explicit paths are used for every character in the expression.

internalSpeechTitles: true

This tells the SVG output jax whether to put speech text into <title> elements within the SVG (when set to 'true'), or to use an aria-label attribute instead. Neither of these control whether speech strings are generated (that is handled by the Semantic-Enrich Extension Options settings); this setting only tells what to do with a speech string when it has been generated or included as an attribute on the root MathML element.

The remaining options are described in the Options Common to All Output Processors section.


Developer Options

In addition to the options listed above, low-level options intended for developers include the following:

localID: null

This gives the ID prefix to use for the paths stored in a local font cache when fontCache is set to 'local'. This is useful if you need to process multiple equations by hand and want to generate unique ids for each equation, even if MathJax is restarted between equations. If set to null, no prefix is used.

titleID: 0

This gives the initial number used to make unique <title> ids when internalSpeechTitles is true. This is useful if you need to process multiple equations by hand and want to generate unique ids for each equation, even if MathJax is restarted between equations.