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
包括 ams
, newcommand
, noundefined
, require
, autoload
和 configmacros
扩展,其他扩展将根据需要自动加载。这个 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'
}
};