<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML//EN" "http://cnx.rice.edu/technology/cnxml/schema/dtd/0.5/cnxml_mathml.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:bib="http://bibtexml.sf.net/" xmlns:m="http://www.w3.org/1998/Math/MathML" id="new">
  <name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Presentation token element (mo)</name>
  <metadata xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
  <md:version xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">1.8</md:version>
  <md:created xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">2006/03/31 03:48:29 US/Central</md:created>
  <md:revised xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">2006/04/20 00:06:07.106 GMT-5</md:revised>
  <md:authorlist xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
      <md:author xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="Sunil_Singh">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Sunil</md:firstname>
      <md:othername xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Kumar</md:othername>
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Singh</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">sunilkr99@yahoo.com</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
    <md:maintainer xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="Sunil_Singh">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Sunil</md:firstname>
      <md:othername xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Kumar</md:othername>
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Singh</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">sunilkr99@yahoo.com</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">element</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">entity</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">identifier</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">mathml</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">mo</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">reference</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">token</md:keyword>
  </md:keywordlist>

  <md:abstract xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">The mo operator element in MathML conveys the meaning of mathematical operation.</md:abstract>
</metadata>
  <content xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">

<section xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="section-1">
<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/"/>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-2">
<m:math>
<m:mstyle fontsize="12pt" fontstyle="normal" fontfamily="Helvetica">
      <m:mtable columnalign="left">
        <m:mtr>
        <m:mtd>
        <m:mtext color="#f05" fontweight="bold"> Specific attributes :  </m:mtext>
        <m:mfenced open="" close="" separators=" ">
        <m:mi> form </m:mi>
        <m:mi> fence </m:mi> 
        <m:mi> separator </m:mi>
        <m:mi> lspace </m:mi> 
        <m:mi> rspace  </m:mi>
        <m:mi> stretchy </m:mi> 
        <m:mi> symmetric </m:mi>
        </m:mfenced>
        </m:mtd>
        </m:mtr>
        <m:mtr>
        <m:mtd>
        <m:mphantom>
        <m:mtext color="#f05" fontweight="bold"> Specific attributes :  </m:mtext>
        </m:mphantom> 
        <m:mfenced open="" close="" separators=" ">
        <m:mi> maxsize </m:mi> 
        <m:mi> minsize </m:mi> 
        <m:mi> largeop </m:mi>
        <m:mi> movablelimits </m:mi> 
        <m:mi> accent </m:mi> 
        </m:mfenced>
        </m:mtd>
        </m:mtr>
     </m:mtable>
  </m:mstyle>   
</m:math>

</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-3">
The “mo” element displays an operator or other representations, which are treated as an operator in mathematics. The term "operator" also includes fence, separator, accent, comma, semicolon, invisible characters etc. , some of which are used to provide new meaning to the ordinary operator. Hence, “operator” in MathML has wider meaning beyond ordinary operators,  consistent with the requirement of growing expanse of mathematical operations.   
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-4">
Many of the important operators contained within “mo” element can be typed directly. They are available on key board; while many others have to be referenced through valid Unicode entity references. The operator symbols, which can be typed from the keyboard include “+”,  “-, ”/”, ”*”, ”(“, ”)”, ”{“, ”}”, ”[“, ”]”,  “.NOT.”, ”.OR.” etc. </para>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-5">
Following example shows the display of operators by "mo" element.
</para>

<example xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="display1">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Displaying operators with “mo” element</name>
	<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-6">
	  <code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
	    <![CDATA[
    <m:math display="block">
<m:mtable>
        <m:mtr>
         <m:mtd>
          <m:mi>Plus : </m:mi><m:mo>+</m:mo> 
          <m:mi> ;</m:mi>
          <m:mi>Increment : </m:mi><m:mo>++</m:mo>
          <m:mi> ;</m:mi>
          <m:mi>Logical not : </m:mi><m:mo>.NOT.</m:mo> <m:mi> ;</m:mi>
         </m:mtd>
        </m:mtr> 
        <m:mtr>
         <m:mtd>        
          <m:mi>Less than and equal : </m:mi><m:mo> &le; </m:mo>
          <m:mi> ;</m:mi>
          <m:mi>Partial operator : </m:mi><m:mo> &PartialD; </m:mo>
          <m:mi> ;</m:mi>
          <m:mi>Differentiation : </m:mi><m:mo> &DifferentialD; </m:mo>
          <m:mi> ;</m:mi>
          <m:mi>Integration : </m:mi><m:mo> &int; </m:mo>
         </m:mtd>
        </m:mtr> 
      </m:mtable>
    </m:math> 

	    ]]>
	  </code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-7">
Save the file after editing as “test.xml”. The display looks like : 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-8">
    <m:math display="block">
<m:mtable>
        <m:mtr>
         <m:mtd>
          <m:mi>Plus : </m:mi><m:mo>+</m:mo> 
          <m:mi> ;</m:mi>
          <m:mi>Increment : </m:mi><m:mo>++</m:mo>
          <m:mi> ;</m:mi>
          <m:mi>Logical not : </m:mi><m:mo>.NOT.</m:mo> <m:mi> ;</m:mi>
         </m:mtd>
        </m:mtr> 
        <m:mtr>
         <m:mtd>        
          <m:mi>Less than and equal : </m:mi><m:mo> ≤ </m:mo>
          <m:mi> ;</m:mi>
          <m:mi>Partial operator : </m:mi><m:mo> ∂ </m:mo>
          <m:mi> ;</m:mi>
          <m:mi>Differentiation : </m:mi><m:mo> ⅆ </m:mo>
          <m:mi> ;</m:mi>
          <m:mi>Integration : </m:mi><m:mo> ∫ </m:mo>
         </m:mtd>
        </m:mtr> 
      </m:mtable>
    </m:math> 
</para>
</example>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-9">
In the above example, we have used “mtable” (with “mtr” and “mtd” elements) element for controlling display. See that first three operators in above example have been typed directly from the keyboard; while others have been referenced by entity reference. 
</para>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-10">
MathML design of rendering an operator closely follows mathematical convention. It distinguishes between rendering a character with “mi” element and an operator with “mo” operator in many important ways for notational representation of mathematical expression. Two basic considerations are (i) to manage space around the operator, consistent with the context in which they are displayed and (ii) dimensional change (stretching) of operators in accordance with the dimension of other elements and terms. Space around an operator is managed by “form” attribute, while stretching is managed by “stretchy” attribute of “mo” element. A plus operator ("+") may ,for example, precede or follow an identifier or may lie between two operands. Depending upon its placement, the space around the operator "+" is determined. Similarly, size of a parentheses around an expression must stretch to the height of the expression as in <m:math display="inline">
      <m:mrow> 
        <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>
.
</para>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-11">
MathML also allows improvisation of an operator rendered by “mo” element. This generally makes use of other characters rendering elements such as “mi” or "mn" elements in addition to "mo" element and their combination with layout elements like “mfrac” and scripting elements (“msub”, “msup” etc.) Simply put, MathML treats an expression with a “mo” element at core and improvised by other elements - as an operator of class known as “embellished” operator.  
</para>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-12">
Consider encoding for a differentiation operator 	  
<code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="inline">
<![CDATA[  "&DifferentialD;"  ]]>
</code>
. This operator when applied to a variable, say t, is represented as
<m:math display="inline">
<m:mo>ⅆ </m:mo> 
<m:mi> t </m:mi> 
</m:math>
In mathematics, however, 
<m:math display="inline">
<m:mfrac> 
<m:mo>ⅆ </m:mo> 
<m:mrow>
<m:mo>ⅆ </m:mo> 
<m:mi> t </m:mi>
</m:mrow>
</m:mfrac> 
</m:math>
is itself considered to be an operator. The whole block consisting of “mfrac” element is, thus, an embellished operator. 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-12a">
<code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
<![CDATA[  
     <m:mfrac> 
       <m:mo> &DifferentialD; </m:mo> 
       <m:mrow>
       <m:mo> &DifferentialD; </m:mo> 
       <m:mi> x </m:mi>
       </m:mrow>
     </m:mfrac> 
]]>
</code>
</para>

<section xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="section-1a">
<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Additional attribute : Default values</name>


<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-15">
Default values to the attributes of  “mo” element are set in accordance with the values contained in “operator dictionary”, which specifies “form”, “fence”, “stretchy”, “lspace” and “rspace” attributes for different operators. The renderer maintains an operator dictionary for most of the operators. W3C recommends a prototype of operator dictionary. These recommendations can be viewed at  <link xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" src=" http://www.w3.org/TR/MathML2/appendixf.html"> www.w3.org/TR/MathML2/appendixf.html </link>. If the dictionary does not provide the value for the attribute, then attribute is set with default value as given here: 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-16">
	  <list xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="list-1" type="enumerated">
	    <name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Default values</name>
	    <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">form : set by position/context</item> 
	    <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">fence : false</item> 
	    <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">separator : false</item>
	    <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">lspace : thickmathspace</item>
            <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">rspace : thickmathspace</item>
	    <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">stretchy : false</item>
            <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">symmetric : true</item>
            <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">maxsize : infinity</item>
            <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">minsize : 1</item>	 
            <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">largeop : false</item>	  
            <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">movablelimits : false</item>	  
            <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">accent : false</item>	    
	  </list>
</para> 
</section>
<section xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="section-1b">
<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Managing space around operators</name>


<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-19">
<list xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="list-2" type="bulleted">
<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Attribute value types</name>
<item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">form : prefix | infix | postfix</item>
<item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">lspace : number h-unit | namedspace</item>
<item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">rspace : number h-unit | namedspace</item>
</list>
</para>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-20">
The "form" attribute specifies whether an operator shall be rendered as "prefix" or "postfix" or "infix" operator. These form types determine space around the operator (left and right of it). Each form type is associated with two attributes ("lspace" and "rspace"), which implements its left space ("lspace") and right space ("rspace").  It is important to understand that form types are basically specification about space around operator and about its role with respect to other elements. </para>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-21">

The default value of “form” attribute is set in accordance with three rules, involving "mrow" element. The token elements, including "mo" element, is composed within explicit or inferred  "mrow" element. The position of an operator within the "mrow" in horizontal sequence determines the form type of the operator. If operator is the first element, then its form is inferred as "prefix"; if it is in the intermediate position, then its form is inferred as "infix”; and if it is in the end position, then  its form is inferred as "postfix". Corresponding to each form, operator library specifies "lspace" and "rspace". It is, however, not necessary that each of the operator has all the three form types. The nature of operator determines the type of forms that a particular operator should be associated with. For example, "+" operator has entries for "prefix" and "infix", but not for "postfix" in the operator dictionary, because "postfix" form of "+" operator is not expected to be placed at the end of an expression.</para> 
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-21a">
Now, consider the example of "+" operator appearing twice in an expression in the manner as typed below :
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-22">
<code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
<![CDATA[ +a + b ]]>
</code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-23">
The first "+" sign in the above case assumes "prefix" form, while the second "+" sign assumes "infix" form. Once, the form of the operator is determined from the context within "mrow" element, spacing around the operator is determined as specified by "lspace" and "rspace" values given in the operator dictionary. The dictionary suggests following values for these forms of “+” operator :
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-24">
<code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
<![CDATA[
"+"  form="infix"    lspace="mediummathspace" rspace="mediummathspace"
"+"  form="prefix"   lspace="0em" rspace="veryverythinmathspace"
]]>
</code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-25">
Evidently, "infix" form separates its neighboring elements by "mediummathspace", whereas "prefix" form separates the following element with a very small space specified by "veryverythinmathspace".
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-26">
Let us now code the example in MathML and see the output :
</para>
<example xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="display2">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Determining "form" of an operator</name>
	<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-27">
	  <code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
	    <![CDATA[
    <m:math display="block">
        <m:mrow>
        <m:mo> + </m:mo>
        <m:mi> a </m:mi>
        <m:mo> + </m:mo>
        <m:mi> b </m:mi>
        </m:mrow>
    </m:math> 

	    ]]>
	  </code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-28">
Save the file after editing as “test.xml”. The display looks like : 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-29">
    <m:math display="block">
        <m:mrow>
        <m:mo> + </m:mo>
        <m:mi> a </m:mi>
        <m:mo> + </m:mo>
        <m:mi> b </m:mi>
        </m:mrow>
    </m:math> 
</para>
</example>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-29a">
As expected first “+” is almost attached to “a”, where as second instance of “+” renders some amount of space around itself. This type of detailing in rendering mathematical expression is vital and critical to maintain highest order of rendering consistencey, which is commensurate with the exact nature of mathematics and the meaning that a mathematical expression conveys. Note that the mark-up paradigm of MathML automatically forces codification in such a manner that no extra effort is required towards maintaining conventions of mathematical display - almost ruling out the possibilities that an expression is displayed in a non-conforming way.
</para>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-30">
A particular operator does not require to have entries for all the forms in the operator dictionary. Many of the operators in mathematics operate on other entities in forward direction. For example, integration, differentiation, partial differentiation etc. operates on identifiers following it. For this reason, such operators are inherently “prefix” in nature. On the other hand, operators classified as fences are either “prefix” or “postfix” commensurate with their role in mathematical expression. It is very unlikely that a closing bracket “]” is used in the beginning of an expression and as such it has “postfix” form. Dictionary entries for these operators are given here to understand : why there is very small space or no space between these operators and the identifiers on which they operate.
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-31">
<code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
<![CDATA[
"&DifferentialD;" form="prefix"  lspace="0em" rspace="verythinmathspace"
"&PartialD;"      form="prefix"  lspace="0em" rspace="verythinmathspace"
"&Integral;"      form="prefix"  largeop="true" stretchy="true" lspace="0em" 
"("   form="prefix"  fence="true" stretchy="true"  lspace="0em" rspace="0em"
")"   form="postfix" fence="true" stretchy="true"  lspace="0em" rspace="0em"
"["   form="prefix"  fence="true" stretchy="true"  lspace="0em" rspace="0em"
"]"   form="postfix" fence="true" stretchy="true"  lspace="0em" rspace="0em"
"{"   form="prefix"  fence="true" stretchy="true"  lspace="0em" rspace="0em"
"}"   form="postfix" fence="true" stretchy="true"  lspace="0em" rspace="0em"
]]>
</code>
</para>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-32">
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 :</para>
<example xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="display3">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Determining "form" of an operator</name>
	<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-33">
	  <code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
	    <![CDATA[
    <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> 

	    ]]>
	  </code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-34">
Save the file after editing as “test.xml”. The display lokks like : 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-35">
    <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> 
</para>
</example>
</section>

<section xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="section-1c">
<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Stretching of operators </name>


<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-37">

Four attributes of “mo” element control stretching of operators. These attributes may assume following values :
</para> 
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-38">
<list xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="list-3" type="bulleted">
<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Attribute value types</name>
<item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">stretchy : true | false</item>
<item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">symmetric : true | false</item>
<item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">maxsize : number [ v-unit | h-unit | namedspace | infinity</item>
<item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">minsize : number [ v-unit | h-unit | namedspace</item>

</list>
</para>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-39">
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. 
</para>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-40">
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. </para>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-41">
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 :  
</para>
<example xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="display4">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Vertical stretching</name>
	<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-42">
	  <code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
	    <![CDATA[
    <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> 

	    ]]>
	  </code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-43">
Save the file after editing as “test.xml”. The display looks like : 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-44">
    <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> 
</para>
</example>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-49">
We can, however, control the growth of parenthese by setting “maxsize” attribute to 1 i.e. equal to its normal size.
</para>
<example xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="display6">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Vertical stretching</name>
	<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-50">
	  <code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
	    <![CDATA[
    <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> 

	    ]]>
	  </code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-51">
Save the file after editing as “test.xml”. The display looks like : 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-52">
    <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> 
</para>
</example>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-45">
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 :
</para>

<example xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="display5">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Vertical stretching</name>
	<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-46">
	  <code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
	    <![CDATA[
    <m:math display="block">
     <m:mrow> 
     <m:mo> &sum; </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> 

	    ]]>
	  </code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-47">
Save the file after editing as “test.xml”. The display looks like : 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-48">
    <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> 
</para>
</example>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-53">
Control for stretching can be selective as well. For example, we can set stretchy=”false” on the opening parenthesis to restrict it to grow.
</para>
<example xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="display7">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Vertical stretching</name>
	<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-54">
	  <code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
	    <![CDATA[
    <m:math display="block">
      <m:mrow> 
      <m:mi> x </m:mi>
      <m:mo> = </m:mo>
      <m:mo stretchy="false"> ( </m:mo>
      <m:mfrac> 
       <m:mi>a</m:mi>
       <m:mi>b</m:mi>
      </m:mfrac> 
      <m:mo> ) </m:mo>
      </m:mrow> 
    </m:math> 

	    ]]>
	  </code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-55">
Save the file after editing as “test.xml”. The display looks like : 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-56">
    <m:math display="block">
      <m:mrow> 
      <m:mi> x </m:mi>
      <m:mo> = </m:mo>
      <m:mo stretchy="false"> ( </m:mo>
      <m:mfrac> 
       <m:mi>a</m:mi>
       <m:mi>b</m:mi>
      </m:mfrac> 
      <m:mo> ) </m:mo>
      </m:mrow> 
    </m:math> 
</para>
</example>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-57">
In situation where, the expression bounded by “mrow” tags contains terms of different heights, the stretchable parentheses grow to cover the highest of the terms. 
</para>
<example xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="display8">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Vertical stretching</name>
	<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-58">
	  <code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
	    <![CDATA[
    <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:mfrac> 
      <m:mrow> 
      <m:mfrac> 
          <m:mi>c</m:mi>
          <m:mi>d</m:mi>
      </m:mfrac> 
      </m:mrow> 
      <m:mi>e</m:mi>
      </m:mfrac> 
      <m:mo> ) </m:mo>
      </m:mrow> 
    </m:math> 

	    ]]>
	  </code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-59">
Save the file after editing as “test.xml”. The display lokks like : 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-60">
    <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:mfrac> 
      <m:mrow> 
      <m:mfrac> 
          <m:mi>c</m:mi>
          <m:mi>d</m:mi>
      </m:mfrac> 
      </m:mrow> 
      <m:mi>e</m:mi>
      </m:mfrac> 
      <m:mo> ) </m:mo>
      </m:mrow> 
    </m:math> 
</para>
</example>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-61">
The symmetric attribute is designed to stretch operator in both vertical and horizontal direction from the axis of the characters in equal magnitude. The symmetric attribute applies only to characters, which can stretch vertically; otherwise this attribute is ignored. Usually, this attribute is set “true” for vertically stretchable operator, but in certain cases involving matrix of unequal size, we may prefer to set it “false” as demonstrated in the example here : 
</para>
<example xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="display9">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Vertical stretching</name>
	<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-62">
	  <code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
	    <![CDATA[
    <m:math display="block">
       <m:mrow> 
       <m:mi> x </m:mi>
       <m:mo> = </m:mo>
       <m:mo symmetric="false"> ( </m:mo>
        <m:mtable align="bottom">
          <m:mtr>
           <m:mtd>
            <m:mi>a</m:mi>
           </m:mtd>
           <m:mtd>
            <m:mi>b</m:mi>
           </m:mtd>
          </m:mtr>
          <m:mtr>
           <m:mtd>
            <m:mn>d</m:mn>
           </m:mtd>
           <m:mtd>
            <m:mn>e</m:mn>
           </m:mtd>
          </m:mtr>
       </m:mtable> 
        <m:mo symmetric="false"> ) </m:mo>
        <m:mo symmetric="false"> ( </m:mo>
       <m:mtable align="bottom">
        <m:mtr>
          <m:mtd>
            <m:mi>a</m:mi>
          </m:mtd>
          <m:mtd>
            <m:mi>b</m:mi>
          </m:mtd>
        </m:mtr>
        <m:mtr>
          <m:mtd>
            <m:mn>d</m:mn>
          </m:mtd>
          <m:mtd>
            <m:mn>e</m:mn>
          </m:mtd>
        </m:mtr>
         <m:mtr>
          <m:mtd>
            <m:mn>d</m:mn>
          </m:mtd>
          <m:mtd>
            <m:mn>e</m:mn>
          </m:mtd>
        </m:mtr>
      </m:mtable> 
      <m:mo symmetric="false"> ) </m:mo>
      </m:mrow>
    </m:math> 

	    ]]>
	  </code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-63">
Save the file after editing as “test.xml”. The display lokks like : 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-64">
    <m:math display="block">
       <m:mrow> 
       <m:mi> x </m:mi>
       <m:mo> = </m:mo>
       <m:mo symmetric="false"> ( </m:mo>
        <m:mtable align="bottom">
          <m:mtr>
           <m:mtd>
            <m:mi>a</m:mi>
           </m:mtd>
           <m:mtd>
            <m:mi>b</m:mi>
           </m:mtd>
          </m:mtr>
          <m:mtr>
           <m:mtd>
            <m:mn>d</m:mn>
           </m:mtd>
           <m:mtd>
            <m:mn>e</m:mn>
           </m:mtd>
          </m:mtr>
       </m:mtable> 
        <m:mo symmetric="false"> ) </m:mo>
        <m:mo symmetric="false"> ( </m:mo>
       <m:mtable align="bottom">
        <m:mtr>
          <m:mtd>
            <m:mi>a</m:mi>
          </m:mtd>
          <m:mtd>
            <m:mi>b</m:mi>
          </m:mtd>
        </m:mtr>
        <m:mtr>
          <m:mtd>
            <m:mn>d</m:mn>
          </m:mtd>
          <m:mtd>
            <m:mn>e</m:mn>
          </m:mtd>
        </m:mtr>
         <m:mtr>
          <m:mtd>
            <m:mn>d</m:mn>
          </m:mtd>
          <m:mtd>
            <m:mn>e</m:mn>
          </m:mtd>
        </m:mtr>
      </m:mtable> 
      <m:mo symmetric="false"> ) </m:mo>
      </m:mrow>    
    </m:math> 
</para>
</example>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-65">
Matrix operation of unequal sizes uses notation which is aligned to base. This type of controlling stretching in specific direction is, therefore, extremely useful in such situations.
</para>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-65a">
In case, the “mrow” domain contains non-stretchable terms of normal height and other stretchable terms, then all the terms, including the fence operator grows to the maximum normal height.
</para>
<example xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="display10">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Vertical stretching</name>
	<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-66">
	  <code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
	    <![CDATA[
    <m:math display="block">
      <m:mrow> 
      <m:mi> x </m:mi>
      <m:mo> = </m:mo>
      <m:mo> ( </m:mo>
      <m:mo> &int; </m:mo>
      <m:mi> f</m:mi>
      <m:mo> ( </m:mo>
      <m:mi> x </m:mi>
      <m:mo> ) </m:mo>
      <m:mi> &DifferentialD; </m:mi>
      <m:mi> x </m:mi>
      <m:mo> ) </m:mo>
      </m:mrow> 
    </m:math> 

	    ]]>
	  </code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-67">
Save the file after editing as “test.xml”. The display lokks like : 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-68">
    <m:math display="block">
      <m:mrow> 
      <m:mi> x </m:mi>
      <m:mo> = </m:mo>
      <m:mo> ( </m:mo>
      <m:mo> ∫ </m:mo>
      <m:mi> f</m:mi>
      <m:mo> ( </m:mo>
      <m:mi> x </m:mi>
      <m:mo> ) </m:mo>
      <m:mi> ⅆ </m:mi>
      <m:mi> x </m:mi>
      <m:mo> ) </m:mo>
      </m:mrow>  
    </m:math> 
</para>
</example>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-69">

As against fence operator, the accent and horizontal arrows are stretchable in horizontal direction by default. The growth, in this case, is controlled by “munder”, “mover” and “munderover” elements, which contain the operator. The “munder”, “mover” and “munderover” elements, as the names suggest, allow drawing of an operator "under" or "over" or both about a character(s) or expresison. The  scripting elements takes a base argument about which the operator is to be drawn and one (“munder” and “mover”) operator or two (“munderover”) operators  for being placed about the base. We shall see that the operator grows horizontally to cover the other element. 
</para>
<example xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="display11">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Horizontal stretching</name>
	<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-70">
	  <code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
	    <![CDATA[
    <m:math display="block">
      <m:mi> A </m:mi>
      <m:munderover>
       <m:mo> &RightArrow; </m:mo>
       <m:mtext> 50 degree C </m:mtext>
       <m:mtext> 200 psi </m:mtext>
      </m:munderover>
      <m:mi> B </m:mi> 
    </m:math> 

	    ]]>
	  </code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-71">
Save the file after editing as “test.xml”. The display looks like : 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-72">
    <m:math display="block">
      <m:mi> A </m:mi>
      <m:munderover>
       <m:mo> → </m:mo>
       <m:mtext> 50 degree C </m:mtext>
       <m:mtext> 200 psi </m:mtext>
      </m:munderover>
      <m:mi> B </m:mi> 
    </m:math> 
</para>
</example>
</section>

<section xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="section-1d">
<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Other attributes : largeop, movablelimits, accent, separator, fence</name>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-74">

These attributes may assume following values :
</para> 
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-75">
<list xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="list-4" type="bulleted">
<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Attribute value types</name>
<item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">fence : true | false</item>
<item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">separator : true | false</item>
<item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">largeop : true | false</item>
<item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">movablelimits : true | false</item> 
<item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">accent : true | false</item>

</list>
</para>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-76">
All these attributes accept boolean values “true” or “false”. The attribute “fence” is designed for non-visual rendering like audio rendering. As such, this attribute has no impact on the visual aspect of rendering. The role of “separator” attribute is also not significant and may be left to default value.
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-77">
The “largeop” attribute determines the size of the operator. If it is true, then the operator is drawn larger than its normal size. For example, ∫ and ∏ operators are displayed as large operator as “largeop” attribute for these operators are set “true” by default. If we need to display the normal size, then  their "largeop" attribute is set to "false".
</para>

<example xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="display12">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Large operator</name>
	<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-78">
	  <code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
	    <![CDATA[
    <m:math display="block">
      <m:mrow> 
      <m:mo> &prod; </m:mo>
      <m:mo> , </m:mo>
      <m:mo> &int;  </m:mo>
      <m:mo> , </m:mo>
      <m:mo largeop="false"> &prod; </m:mo>
      <m:mo> , </m:mo>
      <m:mo largeop="false"> &int;  </m:mo>
      </m:mrow> 
    </m:math> 

	    ]]>
	  </code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-79">
Save the file after editing as “test.xml”. The display looks like : 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-80">
    <m:math display="block">
      <m:mrow> 
      <m:mo> ∏ </m:mo>
      <m:mo> , </m:mo>
      <m:mo> ∫  </m:mo>
      <m:mo> , </m:mo>
      <m:mo largeop="false"> ∏ </m:mo>
      <m:mo> , </m:mo>
      <m:mo largeop="false"> ∫  </m:mo>
      </m:mrow> 
    </m:math> 
</para>
</example>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-81">
The movablelimits attribute allows underscripts and overscripts to be represented as subscript and superscript respectively. This rendering of under and over scripts as sub and super scripts is possible by seting this attribute to true. The implementation of this attribute by renderers is not yet consistent. 
</para>
<example xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="display13">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">The "movablelimits" attribute</name>
	<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-82">
	  <code xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="block">
	    <![CDATA[
    <m:math display="block">
       <m:munderover> 
        <m:mo movablelimits='true'> &sum; </m:mo>
        <m:mi> a </m:mi>
        <m:mi> b </m:mi>
      </m:munderover> 
      <m:munderover> 
        <m:mo movablelimits='false'> &sum; </m:mo>
        <m:mi> a </m:mi>
        <m:mi> b </m:mi>
      </m:munderover> 
    </m:math> 
	    ]]>
	  </code>
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-83">
Save the file after editing as “test.xml”. The display looks like : 
</para>
<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-84">
    <m:math display="block">
      <m:munderover> 
        <m:mo movablelimits="true"> ∑ </m:mo>
        <m:mi> a </m:mi>
        <m:mi> b </m:mi>
      </m:munderover> 
      <m:munderover> 
        <m:mo movablelimits="false"> ∑ </m:mo>
        <m:mi> a </m:mi>
        <m:mi> b </m:mi>
      </m:munderover> 
    </m:math> 
</para>
</example>

<para xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="element-85">
The accent attribute determines whether an operator is treated as accent (diacritical mark) when used as an underscript or overscript.
</para>
</section>
</section>

</content>
  
</document>
