<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_mathml.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:bib="http://bibtexml.sf.net/" id="m9008">
  <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/">Content MathML</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/">2.14</md:version>
  <md:created xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">2001/01/24</md:created>
  <md:revised xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">2003/06/02</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="selc">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Sarah</md:firstname>
      
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Coppin</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">coppin@alumni.rice.edu</md:email>
    </md:author>
    <md:author xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="brentmh">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Brent</md:firstname>
      <md:othername xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Michael</md:othername>
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Hendricks</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">brentmh@rice.edu</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="jago">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Adan</md:firstname>
      
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Galvan</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">jago@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="brentmh">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Brent</md:firstname>
      <md:othername xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Michael</md:othername>
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Hendricks</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">brentmh@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="charlet">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Charlet</md:firstname>
      
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Reedstrom</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">charlet@rice.edu</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/">matrix</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/">content mathml</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">token</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">apply</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">function</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">operator</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">vector</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">differentiation</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">integration</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">ci</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">cn</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">csymbol</md:keyword>
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">prefix</md:keyword>
  </md:keywordlist>

  <md:abstract xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">A short introduction to writing Content MathML by hand.  It covers
    tokens, prefix notation, and applying functions and operators.  In
    addition it introduces writing derivatives, integrals, vectors, and
    matrices. </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/">
    <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="parintro">
      The authoritative reference for Content MathML is <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/chapter4.html">Section 4
	of the MathML 2.0 Specification</link>.  The World Wide Web
	Consortium (W3C) is the body that wrote the specification for
	MathML.  The text is very readable and it is easy to find what
	you are looking for.  Look there for answers to questions that
	are not answered in this tutorial or when you need more
	elaboration.  This tutorial is based on MathML 2.0.
    </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="parintro2">
      In this document, the <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/">m</code> prefix is used to
      denote tags in the MathML namespace.  Thus the
      <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/">&lt;apply&gt;</code> tag is referred to as
      <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/">&lt;m:apply&gt;</code>.  Remember all markup in
      the MathML namespace must be surrounded by
      <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/">&lt;m:math&gt;</code> tags.
    </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="secapply">
      <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 Fundamentals of Content MathML: Applying Functions and
	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="parapply">
	The fundamental concept to grasp about Content MathML is that
	it consists of applying a series of functions and operators to
	other elements.  To do this, Content MathML uses prefix
	notation.  <term xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Prefix notation</term> is when the operator
	comes first and is followed by the operands.  Here is how to
	write "2 plus 3".
	<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>
          <m:apply>
	    <m:plus/>
	    <m:cn>2</m:cn>
            <m:cn>3</m:cn>
	  </m:apply>
	</m:math>]]>
	</code>
	This would display as 
	<m:math>
          <m:apply>
	    <m:plus/>
	    <m:cn>2</m:cn>
            <m:cn>3</m:cn>
	  </m:apply>
	</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="parapply2">
	There are three types of elements in the Content MathML
	example shown above.  First, there is the <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/">apply</code>
	tag, which indicates that an operator (or function) is about
	to be applied to the operands.  Second, there is the function
	or operator to be applied.  In this case the 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/">plus</code>, is being applied.  Third, the operands
	follow the operator.  In this case the operands are the
	numbers being added.  In summary, the apply tag applies the
	function (which could be sin or
	<m:math><m:ci>f</m:ci></m:math>, etc.) or operator (which
	could be plus or minus, etc.)  to the elements that follow it.
      </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="sectoken">
	<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/">Tokens</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="parcicn">
	  Content MathML has three tokens: <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/">ci</code>,
	  <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/">cn</code>, and <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/">csymbol</code>.  A
	  <term xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">token</term> is basically the lowest level element.
	  The tokens denote what kind of element you are acting on.
	  The <term xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">cn</term> tag indicates that the content of the
	  tag is a number.  The <term xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">ci</term> tag indicates that the
	  content of the tag is an identifier.  An
	  <term xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">identifier</term> could be any variable or function;
	  <m:math><m:ci>x</m:ci></m:math>,
	  <m:math><m:ci>y</m:ci></m:math>, and
	  <m:math><m:ci>f</m:ci></m:math> are examples of identifiers.
	  In addition, <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/">ci</code> elements can contain
	  Presentation MathML.  Tokens, especially <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/">ci</code> and
	  <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/">cn</code>, are used profusely in Content MathML.
	  Every number, variable, or function is marked by a token.
	</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="parcsym">
	  <term xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">csymbol</term> is a different type of token from
	  <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/">ci</code> and <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/">cn</code>.  It is used to create a
	  new object whose semantics is defined externally.  It can
	  contain plain text or Presentation MathML.  If you find that
	  you need something, such as an operator or function, that is
	  not defined in Content MathML, then you can use csymbol to
	  create it.
	</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="parpres">
	  Both <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/">ci</code> and <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/">csymbol</code> can use
	  Presentation MathML to determine how an identifier or a new
	  symbol will be rendered.  To learn more about Presentation
	  MathML see <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/chapter3.html">Section 3
	  of the MathML 2.0 Specification</link>.  For example, to
	  denote "<m:math><m:ci>x</m:ci></m:math> with a subscript 2",
	  where the 2 does not have a more semantic meaning, you would
	  use the following code.
	  <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>
	    <m:ci>
	      <m:msub>
	        <m:mi>x</m:mi>
	        <m:mn>2</m:mn>
	      </m:msub>
	    </m:ci>
	  </m:math>]]>
	  </code>
	  This would display as 
	  <m:math>
	    <m:ci>
	      <m:msub>
	        <m:mi>x</m:mi>
	        <m:mn>2</m:mn>
	      </m:msub>
	    </m:ci>
	  </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="partype">
	  The <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/">ci</code> elements have a type attribute which
	  can be used to provide more information about the content of
	  the element.  For example, you can declare the contents of a
	  <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/">ci</code> tag to be a function
	  (<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='fn'</code>), or a vector
	  (<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='vector'</code>), or a complex number
	  (<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='complex'</code>), as well as any number of
	  other things.  Using the type attribute helps encode the
	  meaning of the math that you are writing.
	</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="secfunc">
	<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/">Functions and 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="parfcn">
	  In order to apply a function to a variable, make the
	  function the first argument of an apply.  The second
	  argument will be the variable.  For example, you would use
	  the following code to encode the meaning, "the function
	  <m:math><m:ci>f</m:ci></m:math> of
	  <m:math><m:ci>x</m:ci></m:math>".  (Note that you have to
	  include the attribute <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='fn'</code> on the
	  <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/">ci</code> tag denoting
	  <m:math><m:ci>f</m:ci></m:math>.)
	  <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>
	    <m:apply>
	      <m:ci type='fn'>f</m:ci>
	      <m:ci>x</m:ci>
	    </m:apply>
	  </m:math>]]>
	  </code>
	  This will display as 
	  <m:math>
	    <m:apply>
	      <m:ci type="fn">f</m:ci>
	      <m:ci>x</m:ci>
	    </m:apply>
	  </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="parsin">
	  There are also pre-defined functions and operators in
	  Content MathML.  For example, sine and cosine are
	  predefined.  These predefined functions and operators are
	  all <term xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">empty tags</term> and they directly follow the
	  apply tag.  "The sine of <m:math><m:ci>x</m:ci></m:math>" is
	  similar to the example above.
	  <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>
	    <m:apply>
	      <m:sin/>
	      <m:ci>x</m:ci>
	    </m:apply>
	  </m:math>]]>
	  </code>
	  This will display as 
	  <m:math>
	    <m:apply>
	      <m:sin/>
	      <m:ci>x</m:ci>
	    </m:apply>
	  </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="parsin2">
	  You can find a more thorough description of the different
	  predefined functions in Chapter 4 of the MathML specification.
	</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="paroper">
	  In addition to the predefined functions, there are also many
	  predefined operators.  A few of these are <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/">plus</code>
	  (for addition), <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/">minus</code> (for subtraction),
	  <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/">times</code> (for multiplication), <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/">divide</code>
	  (for division), <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/">power</code> (for taking the
	  <m:math><m:ci>n</m:ci></m:math>th-power of something), and
	  root (for taking the <m:math><m:ci>n</m:ci></m:math>th-root
	  of something).
	</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="parchild">
	  Most operators expect a specific number of child tags. For
	  example, the power operator expects two children.  The first
	  child is the base and the second is the value in the
	  exponent.  However, there are other tags which can take many
	  children.  For example, the plus operator merely expects one
	  or more children.  It will add together all of its children
	  whether there are two or five.  This is referred to as an
	  <term xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">n-ary operator</term>.
	</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="parpm">
	  Representing "the negative of a variable" and explicitly
	  representing "the positive of a variable or number" has
	  slightly unusual syntax.  In this case you apply the plus or
	  minus operator to the variable or number, etc., in question.
	  The following is the code for "negative
	  <m:math><m:ci>x</m:ci></m:math>."
	  <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>
	    <m:apply>
	      <m:minus/>
	      <m:ci>x</m:ci>
	    </m:apply>
	  </m:math>]]>
	  </code>
	  This will display as 
	  <m:math>
	    <m:apply>
	      <m:minus/>
	      <m:ci>x</m:ci>
	    </m:apply>
	  </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="parnegnum">
	  In contrast to representing the negative of a variable, the
	  negative of a number may be coded as follows:
	  <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><m:cn>-1</m:cn></m:math>]]>
	  </code>
	  This will display as <m:math><m:cn>-1</m:cn></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="complexmath">
	  To create more complicated expressions, you can nest these
	  bits of apply code within each other.  You can create
	  arbitrarily complex expressions this way.
	  "<m:math><m:ci>a</m:ci></m:math> times the quantity
	  <m:math><m:ci>b</m:ci></m:math> plus
	  <m:math><m:ci>c</m:ci></m:math>" would be written as
	  follows.
	  <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>
	    <m:apply>
	      <m:times/>
	      <m:ci>a</m:ci>
	      <m:apply>
	        <m:plus/>
	        <m:ci>b</m:ci>
	        <m:ci>c</m:ci>
	      </m:apply>
	    </m:apply>
	  </m:math>]]>
	  </code>
	  This will display as 
	  <m:math>
	    <m:apply>
	      <m:times/>
	      <m:ci>a</m:ci>
	      <m:apply>
	        <m:plus/>
	        <m:ci>b</m:ci>
	        <m:ci>c</m:ci>
	      </m:apply>
	    </m:apply>
	  </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="pareq">
	  The <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/">eq</code> operator is used to write equations.  It
	  is used in the same way as any other operator.  That is, it
	  is the first child of an apply.  It takes two (or more)
	  children which are the two quantities that are equal to each
	  other.  For example, "<m:math><m:ci>a</m:ci></m:math> times
	  <m:math><m:ci>b</m:ci></m:math> plus
	  <m:math><m:ci>a</m:ci></m:math> times
	  <m:math><m:ci>c</m:ci></m:math> equals
	  <m:math><m:ci>a</m:ci></m:math> times the quantity
	  <m:math><m:ci>b</m:ci></m:math> plus
	  <m:math><m:ci>c</m:ci></m:math>" would be written as shown.
	  <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>
	    <m:apply>
	      <m:eq/>
	      <m:apply>
	        <m:plus/>
	        <m:apply>
		  <m:times/>
		  <m:ci>a</m:ci>
		  <m:ci>b</m:ci>
	        </m:apply>
	        <m:apply>
		  <m:times/>
		  <m:ci>a</m:ci>
		  <m:ci>c</m:ci>
	        </m:apply>
	      </m:apply>
	      <m:apply>
	        <m:times/>
	        <m:ci>a</m:ci>
	        <m:apply>
		  <m:plus/>
		  <m:ci>b</m:ci>
		  <m:ci>c</m:ci>
	        </m:apply>
	      </m:apply>
	    </m:apply>
	  </m:math>]]>
	  </code>
	  This will display as 
	  <m:math>
	    <m:apply>
	      <m:eq/>
	      <m:apply>
	        <m:plus/>
	        <m:apply>
		  <m:times/>
		  <m:ci>a</m:ci>
		  <m:ci>b</m:ci>
	        </m:apply>
	        <m:apply>
		  <m:times/>
		  <m:ci>a</m:ci>
		  <m:ci>c</m:ci>
	        </m:apply>
	      </m:apply>
	      <m:apply>
	        <m:times/>
	        <m:ci>a</m:ci>
	        <m:apply>
		  <m:plus/>
		  <m:ci>b</m:ci>
		  <m:ci>c</m:ci>
	        </m:apply>
	      </m:apply>
	    </m:apply>
	  </m:math>.
	</para>
      </section>
    </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="secint">
      <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/">Integrals</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="parint">
	The operator for an integral is <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/">int</code>.  However,
	unlike the operators and functions discussed above, it has
	children that define the independent variable that you
	integrate with respect to (<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/">bvar</code>) and the interval
	over which the integral is taken (use either
	<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/">lowlimit</code> and <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/">uplimit</code>, or
	<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/">interval</code>, or <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/">condition</code>).
	<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/">lowlimit</code> and <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/">uplimit</code> (which go
	together), <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/">interval</code>, and <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/">condition</code>
	are just three different ways of denoting the integrands.
	Don't forget that the bvar, <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/">lowlimit</code>,
	<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/">uplimit</code>, <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/">interval</code>, and
	<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/">condition</code> children take token elements as well.
	The following is "the integral of
	<m:math><m:ci>f</m:ci></m:math> of
	<m:math><m:ci>x</m:ci></m:math> with respect to
	<m:math><m:ci>x</m:ci></m:math> from 0 to
	<m:math><m:ci>b</m:ci></m:math>."
	<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>
          <m:apply>
	    <m:int/>
	    <m:bvar><m:ci>x</m:ci></m:bvar>
	    <m:lowlimit><m:cn>0</m:cn></m:lowlimit>
	    <m:uplimit><m:ci>b</m:ci></m:uplimit>
	    <m:apply>
	      <m:ci type='fn'>f</m:ci>
	      <m:ci>x</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math>]]>
	</code>
	This will display as 
	<m:math>
          <m:apply>
	    <m:int/>
	    <m:bvar><m:ci>x</m:ci></m:bvar>
	    <m:lowlimit><m:cn>0</m:cn></m:lowlimit>
	    <m:uplimit><m:ci>b</m:ci></m:uplimit>
	    <m:apply>
	      <m:ci type="fn">f</m:ci>
	      <m:ci>x</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math>.
      </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="secder">
      <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/">Derivatives</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="pardiff2">
	The derivative operator is <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/">diff</code>.  The derivative
	is done in much the same way as the integral.  That is, you
	need to define a base variable (using <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/">bvar</code>).  The
	following is "the derivative of the function
	<m:math><m:ci>f</m:ci></m:math> of
	<m:math><m:ci>x</m:ci></m:math>, with respect to
	<m:math><m:ci>x</m:ci></m:math>."
	<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>
          <m:apply>
	    <m:diff/>
	    <m:bvar>
	      <m:ci>x</m:ci>
	    </m:bvar>
	    <m:apply>
	      <m:ci type="fn">f</m:ci>
	      <m:ci>x</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math>]]>
	</code>
	This will display as 
	<m:math>
          <m:apply>
	    <m:diff/>
	    <m:bvar>
	      <m:ci>x</m:ci>
	    </m:bvar>
	    <m:apply>
	      <m:ci type="fn">f</m:ci>
	      <m:ci>x</m:ci>
	    </m:apply>
	  </m:apply>
	</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="pardeg">
	To apply a higher level derivative to a function, add a
	<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/">degree</code> tag inside of the <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/">bvar</code> tag.
	The degree tag will contain the order of the derivative.  The
	following shows "the second derivative of the function
	<m:math><m:ci>f</m:ci></m:math> of
	<m:math><m:ci>x</m:ci></m:math>, with respect to
	<m:math><m:ci>x</m:ci></m:math>."
	<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>
          <m:apply>
            <m:diff/>
	    <m:bvar>
	      <m:ci>x</m:ci>
	      <m:degree><m:cn>2</m:cn></m:degree>
	    </m:bvar>
	    <m:apply><m:ci type="fn">f</m:ci>
	      <m:ci>x</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math>]]>
	</code>
	This will display as 
	<m:math>
          <m:apply>
            <m:diff/>
	    <m:bvar>
	      <m:ci>x</m:ci>
	      <m:degree><m:cn>2</m:cn></m:degree>
	    </m:bvar>
	    <m:apply><m:ci type="fn">f</m:ci>
	      <m:ci>x</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math>.
      </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="secvm">
      <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/">Vector and Matrices</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="parv1">
	Vectors are created as a combination of other elements using
	the <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/">vector</code> tag.
	<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>
          <m:vector>
	    <m:apply>
	      <m:plus/>
	      <m:ci>x</m:ci>
	      <m:ci>y</m:ci>
	    </m:apply>
	    <m:ci>z</m:ci>
	    <m:cn>0</m:cn>
	  </m:vector>
	</m:math>]]>
	</code>
	This will display as 
	<m:math>
          <m:vector>
	    <m:apply>
	      <m:plus/>
	      <m:ci>x</m:ci>
	      <m:ci>y</m:ci>
	    </m:apply>
	    <m:ci>z</m:ci>
	    <m:cn>0</m:cn>
	  </m:vector>
	</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="parm1">
	Matrices are done in a similar manner.  Each
	<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/">matrix</code> element contains several
	<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/">matrixrow</code> elements.  Then each
	<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/">matrixrow</code> element contains several other
	elements.
	<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>
          <m:matrix>
	    <m:matrixrow>
	      <m:ci>a</m:ci>
	      <m:ci>b</m:ci>
	      <m:ci>c</m:ci>
	    </m:matrixrow>
	    <m:matrixrow>
	      <m:ci>d</m:ci>
	      <m:ci>e</m:ci>
	      <m:ci>f</m:ci>
	    </m:matrixrow>
	    <m:matrixrow>
	      <m:ci>g</m:ci>
	      <m:ci>h</m:ci>
	      <m:ci>j</m:ci>
	    </m:matrixrow>
	  </m:matrix>
	</m:math>]]>
	</code>
	This will display as 
	<m:math>
          <m:matrix>
	    <m:matrixrow>
	      <m:ci>a</m:ci>
	      <m:ci>b</m:ci>
	      <m:ci>c</m:ci>
	    </m:matrixrow>
	    <m:matrixrow>
	      <m:ci>d</m:ci>
	      <m:ci>e</m:ci>
	      <m:ci>f</m:ci>
	    </m:matrixrow>
	    <m:matrixrow>
	      <m:ci>g</m:ci>
	      <m:ci>h</m:ci>
	      <m:ci>j</m:ci>
	    </m:matrixrow>
	  </m:matrix>
	</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="parmv1">
	There are also operators to take the determinant and the
	transpose of a matrix as well as to select elements from
	within the matrix.
      </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="entities">
      <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/">Entities</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="entp1">
	MathML defines its own entities for many characters that you
	might need to use (Greek letters for example).  They are also
	very useful when you need to embed Presentation MathML within
	Content MathML.  A <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/bycodes.html">list of these
	entities</link> is found in the MathML 2.0 specification.  It
	is better to use these entities than the Unicode character
	that they stand for, because these entities can be redefined
	as necessary.
      </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="resources">
      <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 Resources</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="last">
	There is a lot more that can be done with Content MathML.
	Especially if you are planning on writing a lot of Content
	MathML, it is well worth your time to take a look at the <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/">MathML
	specification</link>.
      </para>
    </section>
  </content>
</document>
