<< Chapter < Page Chapter >> Page >

<munder> base overscript </munder>

The “accent” attribute is either “true” or “false”, which determines whether the underscript is implemented as accent or limit. The implementation of accent is drawn closer to the base and is of the same size as that of base. On the other hand, limit is drawn relative away from the base and is reduced in size.

Overscripting

<m:math display="block"> <m:mrow> <m:mover accent="true"> <m:mi> x </m:mi> <m:mo> &Hat; </m:mo> </m:mover> <m:mtext> &ensp;&ensp;vs&ensp;&ensp; </m:mtext> <m:mover accent="false"> <m:mi> x </m:mi> <m:mo> &Hat; </m:mo> </m:mover> </m:mrow> </m:math>

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

x ̂   vs   x ̂

If over-script is an “mo” element, the value of its “accent” attribute is used as the default value of “accent”. However, an explicitly given value overrides the default.

Overscripting

<m:math display="block"> <m:mrow> <m:mover accent="true"> <m:mrow> <m:mi> x </m:mi> <m:mo> + </m:mo> <m:mi> y </m:mi> <m:mo> + </m:mo> <m:mi> z </m:mi> </m:mrow> <m:mo stretchy='true'> &OverBar; </m:mo> </m:mover> <m:mtext> &ThinSpace; vs &ThinSpace; </m:mtext> <m:mover accent="false"> <m:mrow> <m:mi> x </m:mi> <m:mo> + </m:mo> <m:mi> y </m:mi> <m:mo> + </m:mo> <m:mi> z </m:mi> </m:mrow> <m:mo stretchy='true'> &OverBar; </m:mo> </m:mover> </m:mrow> </m:math>

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

x + y + z ¯   vs   x + y + z ¯

"munderover" layout scripting element

Specific attributes :   accent accentunder

    Attribute value types

  • accent (default : automatic) : true | false
  • accentunder (default : automatic) : true | false

The “mover” takes three arguments. First one is the base and second and third ones are the under and over scripting characters respectively. The scripting character is placed below and above the base character/expression. The syntax of the element is :

<munderover> base underscript overscript </munderover>

This element allows simultaneous under and over scripting and is tailor-made constructor to render both scripts simultaneously. The scripting with this element suits in providing limit values to integral sign.

Simultaneous under and over scripting

<m:math display="block"> <m:munderover> <m:mo> &int; </m:mo> <m:mn> 0 </m:mn> <m:mi> &infin; </m:mi> </m:munderover> </m:math>

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

0

This element is not a necessity though, as the same can be implemented using “munder” and “mover” one after another. The reason of this equivalence is that implementing either “munder” or “mover” does not change horizontal width of the base, which is being scripted.

Simultaneous under and over scripting

<m:math display="block"> <m:mover> <m:munder> <m:mo> &int; </m:mo> <m:mn> 0 </m:mn> </m:munder> <m:mi> &infin; </m:mi> </m:mover> </m:math>

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

0

"mmultiscripts" layout scripting element

Specific attributes :   subscriptshift superscriptshift

    Attribute value types

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

This element is same as “msubsup” element in that it renders vertically aligned pair of sub and super scripts, but with one enhancement that it can render multiple pairs such scripts. The syntax of the element is as given below :

<mmultiscripts> base (subscript superscript)* [ <mprescripts/> (presubscript presuperscript)* ] </mmultiscripts>

The multiple sign after pair of subscript and superscript indicates that the pair can be repeated. If it is required to render pair of scripts before the base, then the same is indicated by presence of an empty element “mprescripts” as shown in the syntax. An absence of this empty element will indicate that prescripts are not to be rendered. The pair prescripts are optional as such notation are rare in mathematics. A code for three pairs of the scripts are given in the example :

Implementation of multiple script pairs

<m:math display="block"> <m:mmultiscripts> <m:mi> A </m:mi> <m:mi> i </m:mi> <m:mi> j </m:mi> <m:mi> k </m:mi> <m:mi> l </m:mi> <m:mi> m </m:mi> <m:mi> n </m:mi> </m:mmultiscripts> </m:math>

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

A i j k l m n

It is evident that the implementation of “mmultiscripts” with one pair of scripts would be equivalent to implementation of “msubsup” implementation. An implementation that requires that one of the script in any pair is missing, we may provide either an empty element<none/>or empty “mi”.

Implementation of multiple script pairs with missing value

<m:math display="block"> <m:mmultiscripts> <m:mi> A </m:mi> <m:mi> i </m:mi> <m:mi> j </m:mi> <m:mi> k </m:mi> <m:mi> l </m:mi> <m:mi> </m:mi> <m:mfrac> <m:mi> x </m:mi> <m:mi> y </m:mi> </m:mfrac> <m:mprescripts/> <m:mi> a </m:mi> <m:mi> b </m:mi> <m:mi> c </m:mi> <m:mi> d </m:mi> </m:mmultiscripts> </m:math>

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

A i j k l x y a b c d

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