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)
This node's attributes
Child nodes are MmlNodes (special case of Nodes).
Readonly
factoryThe node factory is an MmlFactory
The parent is an MmlNode
The TeX class for the preceding node
The scriptlevel of the preceding node
Protected
propertiesThe properties for this node
Protected
texclassThe TeX class of this node (obtained via texClass below)
Protected
Static
ACCENTSThe names of attributes controling accents for each child node (reversed for mover below)
Static
alwaysThis lists the attributes that should always be inherited, even when there is no default value for the attribute.
Static
defaultsStatic
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.
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 base is child 0
true if this is an inferred mrow
true if this is a space-like node
true if this is a token node
the attribute used to seed the indentalign value in linebreak containers (overridden in subclasses when needed)
true if this is a node that doesn't count as a parent node in Parent()
Child 2 goes over (overridden by mover below)
The logical parent of this node (skipping over inferred rows some other node types)
Child 1 goes under (overridden by mover below)
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.
True to copy id attributes, false to skip them.
The copied node tree.
Protected
getGet the previous element's texClass and scriptlevel
The previous node to this one
Protected
getThe name of the accent attribute to check ("accent" or "accentunder")
True if the scriptlevel change is to be forced to occur
The current scriptlevel
The new script level based on the accent attribute
The core mo element has 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
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
setBase is in prime style if there is an over node Force scriptlevel change if converted to sub-sup by movablelimits on the base in non-display mode Adjust displaystyle, scriptlevel, and primestyle for the under/over nodes and check if accent values have changed due to the inheritance (e.g., settings in operator dictionary)
If there is an inferred row, set the children of that instead
Protected
setCheck if an under or over accent should cause the appropriate accent attribute to be inherited on the munderover node, and if it is not the default, re-inherit the scriptlevel, since that is affected by the accent attribute
The index of the node to check
The name of the accent attribute to check ("accent" or "accentunder")
The displaystyle
The scriptlevel
The TeX prime style
Whether to force the scriptlevel change
Sets the inherited propertis for this node, and pushes inherited properties to the children
For each inheritable attribute: If the node has a default for this attribute, try to inherit it but check if the noInherit object prevents that. If the node doesn't have an explicit displaystyle, inherit it If the node doesn't have an explicit scriptstyle, inherit it If the prime style is true, set it as a property (it is not a MathML attribute) Check that the number of children is correct Reset the indent attributes for linebreak containers Finally, push any inherited attributes to the children.
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
Optional
data: any
Implements the MmlMunder node class (subclass of MmlMunderover)