文档选项
下面的选项控制 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此选项的对象。