文档选项
下面的选项控制 MathDocument
mathjax创建的对象,用于处理网页中的数学。它们与默认值一起列出。要设置这些选项中的任何一个,请包括 options
在你的章节 MathJax
全局对象。
配置块
MathJax = {
options: {
skipHtmlTags: [ // HTML tags that won't be searched for math
'script', 'noscript', 'style', 'textarea', 'pre',
'code', 'annotation', 'annotation-xml'
],
includeHtmlTags: { // HTML tags that can appear within math
br: '\n', wbr: '', '#comment': ''
},
ignoreHtmlClass: 'tex2jax_ignore', // class that marks tags not to search
processHtmlClass: 'tex2jax_process', // class that marks tags that should be searched
compileError: function (doc, math, err) {doc.compileError(math, err)},
typesetError: function (doc, math, err) {doc.typesetError(math, err)},
renderActions: {...}
}
};
选项说明
- skipHtmlTags: ['script', 'noscript', 'style', 'textarea',
- 'pre', 'code', 'annotation', 'annotation-xml']
这个数组列出了mathjax不应该处理其内容的标记的名称(除了查找下面列出的ignore/process类之外)。您可以添加(或从中删除)此列表,以防止mathjax在特定上下文中处理数学。例如。,
skipHtmlTags: {'[-]': ['code', 'pre'], '[+]': ['li']}
将移除
'code'
和'pre'
添加时从列表中标记'li'
标记到列表。
- includeHtmlTags: {br: '\n', wbr: '', '#comment': ''}
此对象指定数学表达式中可以显示哪些标记,以及在数学表达式中用哪些文本替换它们。默认设置是允许
<br>
,这就成了一条新线,<wbr>
以及HTML注释,这些注释将被完全删除。
- ignoreHtmlClass: 'mathjax_ignore'
这是用于标记其内容不应由mathjax处理的元素的类名(除了查找
processHtmlClass
模式如下)。注意,这是一个正则表达式,因此您需要确保引用任何 regexp 特殊字符。这个模式被插入到一个需要你的模式匹配一个完整单词的模式中,所以设置ignoreHtmlClass: 'class2'
会导致它与元素匹配class='class1 class2 class3'
但不是class='myclass2'
. 注意,可以通过用垂直线字符分隔来分配多个类 (|
)例如,使用ignoreHtmlClass: 'class1|class2'
任何元素指定一个类class1
或class2
将被跳过。这也可以由ignoreHtmlClass: 'class[12]'
,哪个匹配class
后面跟着一个1
或A2
.
- processHtmlClass: 'mathjax_process'
这是用于标记其内容的元素的类名 应该 由mathjax处理。这用于在通过
ignoreHtmlClass
或导致出现在skipHtmlTags
要处理而不是跳过的列表。注意,这是一个正则表达式,因此您需要确保引用任何 regexp 特殊字符。这个模式被插入到一个需要你的模式匹配一个完整单词的模式中,所以设置processHtmlClass: 'class2'
会导致它与元素匹配class='class1 class2 class3'
但不是class='myclass2'
. 注意,可以通过用垂直线字符分隔来分配多个类 (|
)例如,使用processHtmlClass: 'class1|class2'
任何元素指定一个类class1
或class2
将处理其内容。这也可以由processHtmlClass: 'class[12]'
,哪个匹配class
后面跟着一个1
或A2
.
- compileError: function (doc, math, err) {doc.compileError(math, err)}
当输入jax运行时(即在文档的
compile()
打电话)论点是MathDocument
在发生错误时,MathItem
对于它发生的表达式,以及Error
对象的未捕获错误。默认操作是调用文档的默认值compileError()
函数,它设置math.root
到包含错误消息的数学元素(即,<math><merror><mtext>Math input error<mtext></merror></math>
)您可以用自己的函数替换它,以捕获输入处理器中的运行时错误。
- typesetError: function (doc, math, err) {doc.typesetError(math, err)}
当输出jax运行时(即在文档的
typeset()
打电话)论点是MathDocument
在发生错误时,MathItem
对于它发生的表达式,以及Error
对象的未捕获错误。默认操作是调用文档的默认值typesetError()
函数,它设置math.typesetRoot
到A<span>
包含文本的元素Math output error
. 您可以用自己的函数替换它,以捕获输出处理器中的运行时错误。
- renderActions: {...}
这是一个对象,指定在
MathJax.typeset()
(及其潜在的MathJax.startup.document.render()
调用),以及各种转换函数,例如MathJax.tex2svg()
(及其潜在的MathJax.startup.document.convert()
打电话)物体的结构是name: value
以逗号分隔的对,其中name
为每个操作提供一个标识符,并且value
是一个数组,由一个数字和零、一个或两个函数组成,后跟一个布尔值(可选)。数字赋予操作的优先级(执行操作时,先执行较低的数字)。第一个函数提供在文档整体呈现时要执行的操作,第二个函数提供在单个表达式转换或重新呈现时要执行的操作。这些函数既可以作为显式函数给出,也可以作为字符串给出要调用的方法的名称(第一个应该是
MathDocument
,第二个MathItem
)如果其中一个是空字符串,则不执行该操作。如果缺少该函数,则方法名取自name
关于这次行动。布尔值指示是否应在convert()
调用(如果为true)或仅在rerender()
调用(如果为false)。例如,
MathJax = { options: { renderActions: { compile: [MathItem.STATE.COMPILED], metrics: [MathItem.STATE.METRICS, 'getMetrics', '', false] } } };
指定两个操作,第一个调用
compile
使用compile()
方法MathDocument
和MathItem
,第二个调用metrics
使用getMetric()
呼吁MathDocument
当呈现文档时,但在rerender()
或convert()
电话或个人MathItem
.如果第一个函数是显式给定的,那么它应该接受一个参数
MathDocument
它在上面运行。如果第二个函数是显式给定的,那么它应该有两个参数MathItem
正在处理,并且MathDocument
它存在的地方。默认值包括执行数学呈现所需的主调用的操作:
find
,compile
,metrics
,typeset
,update
和reset
. 这些函数在文档中找到数学,在找到的数学上调用输入jax,获取数学位置的度量信息,调用输出jax将内部格式转换为输出格式,将输出插入到文档中,最后重置内部标志,以便随后的排版操作将正常进行。您可以通过向
renderActions
对象,或通过重新使用上面的现有名称来重写现有名称。见 mathml支持 一个这样做的例子。优先级号告诉您将在列表中执行操作的位置。加载扩展可能会导致在列表中插入其他操作。例如, 用户界面/菜单 组件插入一个操作,以便在将菜单事件处理程序插入页面后将其添加到数学中。
开发人员选项
- OutputJax: null
这个
OutputJax
用于此的对象实例MathDocument
. 如果您使用的是mathjax组件,则 启动 组件将自动创建此项。如果正在编写直接访问mathjax代码的节点应用程序,则需要自己创建输出jax并通过此选项将其传递给文档。
- InputJax: null
这个
InputJax
用于此的对象实例MathDocument
. 如果您使用的是mathjax组件,则 启动 组件将自动创建此项。如果正在编写直接访问mathjax代码的节点应用程序,则需要自己创建输入jax并通过此选项将其传递给文档。
- MmlFactory: null
这个
MmlFactory
用于创建内部mathml对象的对象实例。这允许您创建MmlFactory
把它交给文件。一null
值表示使用默认值MmlFactory
类并创建新的实例。
- MathList: DefaultMathList
这个
MathList
用于管理列表的对象类MathItem
与MathDocument
. 这允许您创建MathList
把它交给文件。
- MathItem: DefaultMathItem
这个
MathItem
对象类,用于维护MathDocument
. 这允许您创建MathItem
把它交给文件。文件Handler
对象可以定义它自己的子类MathItem
并将其用作默认值。例如,html处理程序使用HTMLMathItem
此选项的对象。