tex和 Latex 延伸

虽然mathjax包含几乎所有的纯tex数学宏,以及许多 Latex 宏和环境,但并不是所有内容都在核心tex输入处理器中实现。在tex处理器的扩展中定义了一些使用较少的命令。当您第一次使用一些扩展实现的命令(例如 \color 宏在 color 扩展,但是mathjax在使用宏时会加载该扩展本身)。虽然大多数扩展都设置为自动加载,但有一些扩展需要您自己显式加载。见 自动装填 下面的扩展,了解如何配置要自动加载的扩展。

加载Tex扩展

要启用其中一个tex扩展,您需要做两件事:加载扩展,并将tex配置为将其包含在包设置中。首先,要将扩展作为组件加载,请将其名称添加到 load 数组中 loader mathjax配置的块。例如,要加载 color 扩展,添加 '[tex]/color' 加载数组,如下例所示。要执行第二个操作,请将扩展名添加到 packages 数组中 tex 配置的块。你可以用特别的 '[+]' 将其附加到默认包的符号(因此不需要知道它们是什么)。例如:

window.MathJax = {
  loader: {load: ['[tex]/color']},
  tex: {packages: {'[+]': ['color']}}
};

将加载 color 扩展并配置tex输入jax以启用它。

已经在包含tex扩展的组件中加载和配置了许多扩展。这个 input/tex ,以及包含 tex 而不是以 -full 包括 amsnewcommandnoundefinedrequireautoloadconfigmacros 扩展,其他扩展将根据需要自动加载。这个 input/tex-base 组件未加载扩展,而 input/tex-full 合并后的扩展以 -full 加载所有扩展。

如果加载的组件具有不想使用的扩展名,则可以通过从 package 数组中 tex mathjax配置的块。例如,禁用 \require 以及自动加载扩展,使用

window.MathJax = {
  tex: {packages: {'[-]': ['require', 'autoload']}}
};

例如,如果您使用 tex-chtml.js 组合组件文件。

在运行时加载扩展

也可以使用非标准的 \require{{extension}} 宏。例如

\(\require{color}\)

将加载 color 扩展到页面中。这样,您可以将扩展加载到未在其配置中加载它们的页面中(并防止您必须将所有扩展加载到所有页面中,即使它们未被使用)。

配置tex扩展

有些扩展有控制其行为的选项。例如, color 扩展允许您设置用于 \colorbox\fcolorbox 宏。这些扩展使用 tex mathjax配置对象的配置。块的名称与扩展名相同,并且包含要为该扩展名设置的选项。例如,

window.MathJax = {
  loader: {load: ['[tex]/color']},
  tex: {
    packages: {'[+]': ['color']},
    color: {
      padding: '5px'
    }
  }
};

会为 \colorbox 为5像素。

配置mathjax 部分,以获取有关如何配置MathJax的详细信息,以及 tex扩展选项 对于单个扩展的选项。

对于未显式加载但可以通过 autoload 包装还是 \require 宏中不能包含 tex 块,因为mathjax不知道可用的选项(因为扩展尚未加载)。在这种情况下,将配置块移动到mathjax配置对象的顶层并在其前面加上前缀 [tex]/ ,如:

window.MathJax = {
  '[tex]/color': {
    padding: '5px'
  }
};