Create an MmlNode: If the arity is -1, add the inferred row (created by the factory) Add the children, if any Create the Attribute object from the class defaults and the global defaults (the math node defaults)
The internal TeX class of the node (for use with getter/setter below)
This node's attributes
Child nodes are MmlNodes (special case of Nodes).
Readonly
factoryThe node factory is an MmlFactory
The default MathML spacing on the left
The parent is an MmlNode
The TeX class for the preceding node
The scriptlevel of the preceding node
Protected
propertiesThe properties for this node
The default MathML spacing on the right
Protected
texclassThe TeX class of this node (obtained via texClass below)
Static
alwaysThis lists the attributes that should always be inherited, even when there is no default value for the attribute.
Static
defaultsStatic
mathaccentsRegular expression matching characters that are marked as math accents (property mathaccent = true)
Static
mathaccentsRegular expression matching characters that are marked as math accents whose widths are to be respected (property mathaccent = false)
Static
MMLSPACINGThe MathML spacing values for the TeX classes
Static
noThis lists properties that do NOT get inherited between specific kinds of nodes. The outer keys are the node kinds that are being inherited FROM, while the second level of keys are the nodes that INHERIT the values. Any property appearing in the innermost list is NOT inherited by the pair.
For example, an mpadded element will not inherit a width attribute from an mstyle node.
Protected
Static
opPattern to use to identify a multiletter operator
Static
OPTABLEThe Operator Dictionary
Protected
Static
primesPattern for when contents is a collection of primes
Static
pseudoPattern for matching when the contents is one ore more pseudoscripts
Protected
Static
remapDefault map for remapping prime characters
Static
stopThis lists the attributes that should not be propagated to child nodes of the given kind of node (so that table attributes don't bleed through to nested tables -- see issue mathjax/MathJax#2890).
Static
verifyThis is the list of options for the verifyTree() method
The number of children allowed, or Infinity for any number, or -1 for when an inferred row is needed for the children. Special case is 1, meaning at least one (other numbers mean exactly that many).
True is this mo is an accent in an munderover construction
All
true if this is an inferred mrow
true if this is a space-like node
the attribute used to seed the indentalign value in linebreak containers (overridden in subclasses when needed)
true if this is a node that supports linebreaks in its children
true if this is a node that doesn't count as a parent node in Parent()
The logical parent of this node (skipping over inferred rows some other node types)
Use a getter to look up the TeX class from the operator table if it hasn't been set yet (but don't save it in case the form changes when it is in its location).
The TeX class.
Use a setter to store the actual value in _texClass;
Protected
addUsed by subclasses to add their own attributes to the inherited list (e.g., mstyle uses this to augment the inherited attibutes)
The current list of inherited attributes
The new attributes to add into the list
The updated attributes list.
Protected
checkDetermine whether the mo is a mathaccent character
The test of the mo element
Protected
checkSet the attributes from the operator table
The text of the mo element
Protected
checkDetermine whether the mo consists of primes, and remap them if so.
The test of the mo element
Protected
checkMark the mo as a pseudoscript if it is one. True means it is, false means it is a pseudo-script character, but in an msup (so needs a variant form)
The test of the mo element
True to copy id attributes, false to skip them.
The copied node tree.
The node that is the outermost embellished operator with this node as its core
The node whose core text is to be obtained
The text of the core MO of the given parent element
The list of form attribute values in the order they should be tested, based on the position of the element in its parent.
Protected
getget the operator definition from the operator table
The text of the mo element
The operator definition
Protected
getGet the previous element's texClass and scriptlevel
The previous node to this one
Get the text of the token node (skipping mglyphs, and combining multiple text nodes)
Return the node's text
Protected
handleThe three forms in the default order they are to be tested
The forms in the new order, if there is an explicit form attribute
Set the nodes inherited attributes based on the attributes of the given node (used for creating extra nodes in the tree after setInheritedAttributes has already run)
The node whose attributes are to be used as a template
Check a string for being a mathaccent
The string to check
True if the string should be a mathaccent
Check a string for being a mathaccent with non-zero width
The string to check
True if the string should be a mathaccent
Replace the current node with an error message (or the name of the node)
The error message to use
The options telling how much to verify
True means use just the kind if not using full errors
The constructed merror
Protected
setOnly inherit to child nodes that are AbstractMmlNodes (not TextNodes)
If there is an inferred row, set the children of that instead
Do the normal inheritance, then look up the attributes from the operator dictionary. If there is no dictionary entry, get the TeX class from the Unicode range list.
returns the spacing to use before this node
Simple string version for debugging, just to get the structure.
Protected
updateFor embellished operators, get the data from the core and clear the core
The core
Protected
verifyVerify that all the attributes are valid (i.e., have defaults)
The options telling how much to verify
Protected
verifyVerify the children.
The options telling how much to verify
Verify the attributes, and that there are the right number of children. Then verify the children.
The options telling how much to verify
Only step into children that are AbstractMmlNodes (not TextNodes)
Optional
data: any
Implements the MmlMo node class (subclass of AbstractMmlTokenNode)