<< Chapter < Page | Chapter >> Page > |
We are at liberty to specify these attributes. It is, however, recommended that we leave the arrangement to the system, which is rendering the mathematical content. It shall ensure consistency in the display, which follows the convention of mathematics as implemented by a particular renderer. The example below demonstrates how we can change the spacing different to default and against the form values as inferred from the context :
<m:math display="block">
<m:mrow>
<m:mo form="infix" rspace="10pt"> + </m:mo>
<m:mi> a </m:mi>
<m:mo form="prefix"> + </m:mo>
<m:mi> b </m:mi>
</m:mrow>
</m:math>
Save the file after editing as “test.xml”. The display lokks like :
$$+a+b$$
Four attributes of “mo” element control stretching of operators. These attributes may assume following values :
Among the operators, the requirement for stretching of fences, arrows, accents (angular cap on identifier) and separators are most profound and visible in mathematical expressions. For this reason, “strechy” attribute of fence and accent operators are set “true” in operator dictionary. Stretching of operators in an expression is restricted by “minsize” and “maxsize” attributes.
The stretchable operators are characterized as predominantly either vertically or horizontally stretchable. The fences, various kinds of vertical arrows (single or double), operators like ∏, ∑, ∫, “/” etc. are set to stretch vertically by default in operator directory.
When stretchable operator and non-stretchable terms are bounded by explicit or inferred “mrow” element, then the stretchable operator grows vertically to cover the non-stretchy term. Consider the example given here :
<m:math display="block">
<m:mrow>
<m:mi> x </m:mi>
<m:mo> = </m:mo>
<m:mo> ( </m:mo>
<m:mfrac>
<m:mi>a</m:mi>
<m:mi>b</m:mi>
</m:mfrac>
<m:mo> ) </m:mo>
</m:mrow>
</m:math>
Save the file after editing as “test.xml”. The display looks like :
$$x=\left(\frac{a}{b}\right)$$
We can, however, control the growth of parenthese by setting “maxsize” attribute to 1 i.e. equal to its normal size.
<m:math display="block">
<m:mrow>
<m:mi> x </m:mi>
<m:mo> = </m:mo>
<m:mo maxsize="1"> ( </m:mo>
<m:mfrac>
<m:mi>a</m:mi>
<m:mi>b</m:mi>
</m:mfrac>
<m:mo maxsize="1"> ) </m:mo>
</m:mrow>
</m:math>
Save the file after editing as “test.xml”. The display looks like :
$$x=\left(\frac{a}{b}\right)$$
Thus, setting "maxsize" attribute overrides the default behavior, which allows the parentheses to strech and cover the non-stretchy expression. Let us, now experiment with other than fence character like ∑ and observe their behavior with other terms :
<m:math display="block">
<m:mrow>
<m:mo> ∑ </m:mo>
<m:mo> ( </m:mo>
<m:mfrac>
<m:mi>A</m:mi>
<m:mi>B</m:mi>
</m:mfrac>
<m:mo> ) </m:mo>
</m:mrow>
</m:math>
Save the file after editing as “test.xml”. The display looks like :
$$\sum \left(\frac{A}{B}\right)$$
Notification Switch
Would you like to follow the 'A primer in mathml' conversation and receive update notifications?