<< Chapter < Page Chapter >> Page >
Scripting requires changing baseline of scripting character(s).

Mathematical notation requires scripting around a base entity. The MathML provides scripting capability through scripting elements : msub, msup and msubsup. Scripting in MathML is not limited only to putting a subscript or superscript around an expression, but vertically integrated upper and lower scripts, which are handy to display limits on integrals and to meet such other requirements of rendering structured display.

Rendering of script is done by manipulating certain attributes that elements acquire from the environment such as “xml” or “html” document.

"msub" and "msup" layout scripting elements

Specific attributes :   superscriptshift, superscriptshift

    Attribute value types

  • superscriptshift, superscriptshift (default : automatic) : number v-unit

Each of these scripting elements takes two arguments base and subscript, which may be valid MathML expressions. Syntax of the two elements are as given here :

<msub> base subscript </msub> <msup> base superscript </msup>

Each of these scripting elements takes two arguments base and subscript, which may be valid MathML expressions. Implementation of “msub” element shifts the baseline of the script, while retaining that of the base. In the case of “msup” element, the baseline shifts the script up. In both cases, display style of the scripts are also changed

The amount of shifting can be specified by giving numerical values to “subscriptshift” and “superscriptshift” attributes preferably in "ex" unit. The example here demonstrates implementation of both “msup” and “msub” elements.

Subscript and supersubscipt

<m:math display="block"> <m:table> <m:mtr> <m:mtd> <m:msup> <m:mi> m </m:mi> <m:mrow> <m:mn> 1 </m:mn> <m:mo> &InvisibleComma; </m:mo> <m:mn> 2 </m:mn> </m:mrow> </m:msup> </m:mtd> </m:mtr> <m:mtr> <m:mtd> <m:msub subscriptshift="1.5ex"> <m:mi> m </m:mi> <m:mrow> <m:mn> 1 </m:mn> <m:mo> &InvisibleComma; </m:mo> <m:mn> 2 </m:mn> </m:mrow> </m:msub> </m:mtd> </m:mtr> </m:table> </m:math>

Save the file after editing as “test.xml”. The display looks like :

m 1 2 m 1 2

Observe that “&InvisibleComma;” entity reference impart the meaning that scripts is read one two and not as one multiplied by 2.

"msubsup" layout scripting element

Specific attributes :   subscriptshift superscriptshift

    Attribute value types

  • subscriptshift (default : automatic) : number v-unit
  • superscriptshift (default : automatic) : number v-unit

The element takes three arguments. First argument of the element is base; second argument is subscript; and third argument is superscript. The syntax of the element is :

<msubsup> base subscript superscript </msubsup>

Scripting “msubsup” element affects simultaneous implementation of a subscript and superscript, which are vertically aligned. This is an extremely useful scripting element as this element can be used to display limit values on variety of expression, including an integral sign.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, A primer in mathml. OpenStax CNX. Apr 19, 2006 Download for free at http://cnx.org/content/col10345/1.16
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'A primer in mathml' conversation and receive update notifications?

Ask