配置宏
这个 configmacros 扩展提供了 macros
和 environments
的配置选项 tex
您的MathJax配置的挡路。这允许您使用javascript预定义页面的自定义宏结束环境。例如,
window.MathJax = {
tex: {
macros: {
RR: "{\\bf R}",
bold: ["{\\bf #1}", 1]
},
environments: {
braced: ["\\left\\{", "\\right\\}"]
}
}
};
定义宏 \RR
这会产生一个粗体的“R”,而 \bold{{math}}
排版 math
使用粗体(请参见 定义tex宏 了解更多信息)。它还创建了 braced
把环境放在 \left\{{
和 \right\}}
围绕着里面的东西。
除了 input/tex-base
. 装入 configmacros 显式扩展(当使用 input/tex-base
例如),添加 '[tex]/configmacros'
到 load
数组 loader
块的mathjax配置,并添加 'configmacros'
到 packages
数组 tex
块。
window.MathJax = {
loader: {load: ['[tex]/configmacros']},
tex: {packages: {'[+]': ['configmacros']}}
};
由于 configmacros 扩展包含在包含TeX输入JAX的组合组件中,它可能已经在包列表中。在这种情况下,如果您要禁用它,可以将其删除:
window.MathJax = {
tex: {packages: {'[-]': ['configmacros']}}
};
配置宏选项
这个 configmacros 扩展添加了一个 macros
选项添加到 tex
允许您预定义宏的挡路,以及 environments
允许您预定义自己的环境的选项。
- macros: {}
这将列出在tex输入处理器开始之前要定义的宏。这些是 name: value 对,其中 name 给出要定义的tex宏的名称,以及 value 给出宏的替换文本。这个 value 可以是简单的替换字符串,也可以是表单的数组 [value, n] 在哪里 value 是替换文本和 n 是宏的参数数。数组可以有第三个条目:或者是一个字符串,该字符串是在使用宏时为可选(带括号)参数提供的默认值,或者是一个由用于分隔各个参数的模板字符串组成的数组。第一个模板必须在第一个参数之前,第二个模板必须在第二个参数之前,依此类推,直到最后一个模板必须在宏的最后一个参数之后。请参阅下面的示例。
注意,自从 value 是javascript字符串,替换文本中的反斜杠必须加倍,以防止它们充当javascript转义字符。
例如,
macros: { RR: '{\\bf R}', // a simple string replacement bold: ['\\boldsymbol{#1}',1] , // this macro has one parameter ddx: ['\\frac{d#2}{d#1}', 2, 'x'], // this macro has an optional parameter that defaults to 'x' abc: ['(#1)', 1, [null, '\\cba']] // equivalent to \def\abc#1\cba{(#1)} }
会要求tex处理器定义四个新宏:
\RR
,这会产生一个粗体字“r”,并且\bold{{...}}
,它接受一个参数并以粗体字体设置,\ddx
,它有一个可选(括号中的)参数,默认为x
,这样\ddx{{y}}
生产\frac{{dy}}{{dx}}
虽然\ddx[t]{{y}}
生产\frac{{dy}}{{dt}}
和\abc
相当于\def\abc#1\cba{{(#1)}}
.
- environments: {}
它列出了在TeX输入处理器开始之前要定义的环境。这些是 name: value 对,其中 name 给出要定义的环境的名称,并 value 提供一个数组,该数组定义要在环境内容之前和之后进行的材质。该数组的形式为 [before, after, n, opt] 哪里 before 是取代
\begin{{name}}
, after 是一种材料,它取代了\end{{name}}
, n 参数后面的参数个数。\begin{{name}}
,以及 opt 是后面的可选参数使用的默认值\begin{{name}}
放在括号里。参数可以插入到 before 字符串使用#1
,#2
等,其中#1
可选参数(如果有)。请注意,由于 before 和 after 值是javascript字符串,则替换文本中的反斜杠必须加倍,以防止它们充当javascript转义字符。
例如,
environments: { braced: ['\\left\\{', '\\right\\}'], ABC: ['(#1)(#2)(', ')', 2, 'X'] }
会定义两种环境,
braced
和ABC
,在哪里\begin{braced} \frac{x}{y} \end{braced}
会产生这个分数 x /`y‘在延伸到分数高度的大括号中,而
\begin{ABC}{Z} xyz \end{ABC}
会产生
(X)(Z)(xyz)
,以及\begin{ABC}[Y]{Z} xyz \end{ABC}
会产生
(Y)(Z)(xyz)
。