mathml输入处理器选项
下面的选项控制 MathML input processor 它是在包含以下内容时运行的 'input/mml'
在 load
属性的数组 loader
如果您加载了包含MathML input JAX的组合组件,则可以使用MathML input JAX的挡路。它们以其默认值列出。若要设置这些选项中的任何一个,请包括 mml
部分在您的 MathJax
全局对象。
配置块
MathJax = {
mml: {
parseAs: 'html', // or 'xml'
forceReparse: false, // true to serialize and re-parse all MathML
parseError: function (node) { // function to process parsing errors
this.error(this.adaptor.textContent(node).replace(/\n.*/g, ''));
},
verify: { // parameters controling verification of MathML
checkArity: true, // check if number of children is correct
checkAttributes: false, // check if attribute names are valid
fullErrors: false, // display full error messages or just error node
fixMmultiscripts: true, // fix unbalanced mmultiscripts
fixMtables: true // fix incorrect nesting in mtables
}
}
};
选项说明
- parseAs: 'html'
指定应如何解析MathML字符串:XML或HTML格式。当设置为
'xml'
,使用浏览器的xml解析器,这比默认的html解析器对格式(例如,匹配结束标记)更严格。在节点应用程序中(其中liteDOM
它们都使用同一个解析器,这不是很严格。
- forceReparse: false
指定mathjax是否将序列化和重新解析文档中找到的mathml。如果您想从html文档中对mathml进行xml解析,这将非常有用。
- parseError: (node) => {...}
指定在mathml中出现解析错误时要调用的函数(通常只在xml解析时发生)。这个
node
是包含错误文本的dom节点。你的函数可以用它认为合适的任何方式处理它。默认情况下,使用错误文本调用mathml输入处理器的错误函数(它将创建merror
包含错误消息的节点)。请注意,此函数与this
是mathml输入处理器对象。
- verify: {...}
这个对象控制在MathJax正在处理的MathML上要执行的验证/修改。可以包含在
verify
对象如下:- checkArity: true
这将指定是否验证子级的数量。默认值是检查子项的正确数目。如果编号错误,则节点将替换为
<merror>
节点,该节点包含指示错误子节点数的消息或节点本身的名称,具体取决于的设置fullErrors
下面。
- checkAttributes: false
这将指定是否检查所有属性的名称,以查看它们在给定节点上是否有效(即,它们具有默认值,或者是标准属性之一,例如
style
,class
,id
,href
,或者data-
属性。如果某个属性出错,则该节点要么放置在<merror>
节点(以便在输出中标记为包含错误),或由<merror>
包含指示错误属性的完整消息,具体取决于的设置fullErrors
下面。当前只检查名称,不检查值。在将来的版本中可能会添加值验证。
- fullErrors: false
此选项指定在节点生成错误时是否显示完整的错误消息,还是仅显示节点名称(或在属性错误的情况下显示节点本身)。
- fixMmultiscripts: true
此选项指定是否额外
<none/>
条目添加到<mmultiscripts>
元素来平衡super-ans下标,或者是否生成错误。
- fixMtables: true
它指定是否缺少
<mtable>
,<mtr>
和<mtd>
元素是否放置在单元格周围。什么时候?true
,如果树中缺少这些元素,MathJax将尝试更正表结构。例如,一个<mtr>
不在<mtable>
会有一个<mtable>
自动放置在它周围<mtable>
包含一个<mi>
作为直接子节点将具有<mtr>
和<mtd>
在周围插入<mi>
.
开发人员选项
除了上面列出的选项外,面向开发人员的低级选项还包括:
- FindMathML: null
这个
FindMathML
将重写默认实例的对象实例。这允许您创建FindMathML
并将其传递给mathml输入jax。一null
值表示使用默认值FindMathML
类并创建新的实例。
- MathMLCompile: null
这个
MathMLCompile
将重写默认实例的对象实例。这允许您创建MathMLCompile
并将其传递给mathml输入jax。一null
值表示使用默认值MathMLCompile
类并创建新的实例。