<< Chapter < Page | Chapter >> Page > |
The point of specialized token construct is visually made through yet another example given belwo. Two simultaneous examples are implemented, using an entity reference
“→”
. Note the impact of using “mover” element on the character reference
“→”
. Compare the two outputs. Though the lay out of the arrow and text has not changed, but the arrow is stretched to accommodate the length of the text !
<m:math display="block">
<m:mrow>
<m:mi> x </m:mi>
<m:mo> → </m:mo>
<m:mtext> maps to </m:mtext>
<m:mi> y </m:mi>
</m:mrow>
</m:math>
<m:math display="block">
<m:mrow>
<m:mi> x </m:mi>
<m:mover>
<m:mo> → </m:mo>
<m:mtext> maps to </m:mtext>
</m:mover>
<m:mi> y </m:mi>
</m:mrow>
</m:math>
Save the file after editing as “test.xml”. The display looks like :
The “mi” element is used to display mathematical identifiers. Identifiers in MathML include literals, constants, name of the angle, trigonometric function etc. The example, here, displays both single and multi character identifiers.
<m:math display="block">
<m:mtext>I is displayed as : </m:mtext>
<m:mi> I </m:mi>
<m:mtext> and trigonometric sine function
is displayed as : </m:mtext>
<m:mi> sin </m:mi>
<m:mi> θ </m:mi>
</m:math>
Save the file after editing as “test3.xml”. The display looks like :
Here " " has been used to create two spaces to improve readability.
Note that default rendering of a single character by "mi" element is italic – as against "normal". Multiple characters are, however, displayed as normal. It means that if we want to have a normal display, then we would require to override the default behavior of the ‘mi” element and specify normal display, using “mathvariant” attribute as demonstrated in the example below.
<m:math display="block">
<m:mtext>Normal I is : </m:mtext>
<m:mi mathvariant='normal'> I </m:mi>
</m:math>
Save the file after editing as “test3.xml”. The display looks like :
The presentation style of a single character in italic form is not without any reason. This suggests that we might be using single character mostly in italic form for mathematical display. In any case, if you differ, you can change the same to normal.
The “mi” element renders character or sequence of characters without any surrounding space. This element together with other character rendering elements (“mn” and “mo”) forms the building blocks of mathematical display, using MathML. It must also be observed that “mi” implements common attributes available for the token element and does not implement additional attributes or attributes specific to the element.
The “mn” element is a flexible constructor to display unsigned real numbers of various types and formats, including decimals or combination of characters, which convey real number. In the scheme of the rendering of mathematical content under MathML environment, it is preferred to keep sign as an operator and its rendering with "mo" element. This approach is consistent with spacing (inter elements) requirement of operator display.
<m:math display="block">
<m:mtext>Forty: </m:mtext> <m:mn> Forty ;</m:mn>
<m:mtext>10 : </m:mtext><m:mn> 10 ; </m:mn>
<m:mtext>4.23: </m:mtext> <m:mn> 4.23 ; </m:mn>
<m:mtext>1,000: </m:mtext> <m:mn> 1,000 ; </m:mn>
<m:mtext>0.1e10: </m:mtext> <m:mn> 0.1e10 ; </m:mn>
<m:mtext>CX: </m:mtext> <m:mn> CX ; </m:mn>
</m:math>
Save the file after editing as “test.xml”. The display looks like :
Note that default rendering style of the characters are “normal” and as such, we do not need to use “mathvariant” attribute to set the display normal. The “mn” element, however, is not suitable for all kinds of numbers. For example, following constants are displayed using “mi” element :
<mi> π </mi>
<mi> ⅈ </mi>
<mi> ⅇ </mi>
<m:math display="block">
<m:mtext>Complex number :  </m:mtext>
<m:mn> 1 </m:mn>
<m:mo> + </m:mo>
<m:mn> 2 </m:mn>
<m:mo> ⁢ </m:mo>
<m:mi> ⅈ</m:mi>
</m:math>
Save the file after editing as “test.xml”. The display looks like :
A ratio, on the other hand, is presented with the help of “mfrac” element. See the example code for displaying a ratio of the form (p/q) :
<m:math display="block">
<m:mtext>Ratio is :</m:mtext>
<m:mfrac>
<m:mn> 22 </m:mn>
<m:mn> 7 </m:mn>
</m:mfrac><m:mi> ; </m:mi>
</m:math>
Save the file after editing as “test.xml”. The display looks like :
Notification Switch
Would you like to follow the 'A primer in mathml' conversation and receive update notifications?