配置mathjax

mathjax的各种组件,包括其输入和输出处理器、扩展和mathjax核心,都可以通过 MathJax 指定要使用的配置的全局对象。这个 MathJax 对象由配置mathjax的各个组件的子对象组成。例如, input/tex 组件通过 texMathJax 对象,而 启动 组件通过 startup 块。

这些块是JavaScript对象,包括 name: value 给出参数名称及其值的对,对之间用逗号分隔。但是,请注意不要在最后一个值之后包含逗号,因为如果您这样做了,某些浏览器将无法处理配置。

一些块可以包含更多的子块。例如, tex 块可以有 macros 预先定义宏的子块,以及 tagformat 阻止(当 标记格式 组件)定义如何显示和处理公式标记。

例如,

window.MathJax = {
  loader: {
    load: ['[tex]/tagformat']
  },
  startup: {
    pageReady: () => {
      alert('Running MathJax');
      return MathJax.startup.defaultPageReady();
    }
  },
  tex: {
    packages: {'[+]': ['tagformat']},
    tagSide: 'left',
    macros: {
      RR: '{\\bf R}',
      bold: ['{\\bf #1}',1]
    },
    tagformat: {
       tag: (n) => '[' + n + ']'
    }
  }
};

是要求 标记格式 要加载的扩展名,设置 启动 组件具有一个在页面(和mathjax)就绪时运行的函数(该函数发出警报,然后执行通常的操作 pageReady() 函数,用于排版页面)配置 TeX input 要使用的组件 tagformat 扩展,要求将显示的公式排版到左边(而不是居中),定义两个宏,最后设置标记,以便对公式号和标记使用方括号而不是圆括号。

注意与 packages 上面的选项。这个 packages 属性是一个扩展名数组,但配置使用特殊对象添加到该数组,而不是替换它。如果您设置的选项是数组,并且您提供的对象具有一个名称为 '[+]' 其值是数组,则该数组将附加到您正在设置的选项的默认值。在上面的例子中, 'tagformat' 字符串被添加到默认值 packages 数组(不需要知道默认值是什么)。

类似地,如果使用一个名为 '[-]' 它的值是数组,数组中的元素是 远离的 从您正在设置的选项的默认值。例如,

packages: {'[-]': ['autoload', 'require']}

去除 这个 autoloadrequire 默认包 packages 数组。

最后,你可以合并 '[+]''[-]' 在一个对象中执行两个操作。例如。,

packages: {'[+]': ['enclose'], '[-]': ['autoload', 'require']}

将删除 autoloadrequire 默认包 packages 数组,并添加 enclose 结果。


在下面的链接中,首先将各种选项及其默认值作为一个完整的配置块列出,然后在下面进一步解释每个选项。