Richard Mercer
Department of Mathematics and Statistics
Wright State University
Dayton, Ohio
http://www.math.wright.edu/
richard.mercer@wright.edu
Your lecture on the normal distribution is captured by camcorder, and the boardwork is converted by handwriting recognition software into a word processing file. The formulas are likewise captured into properly structured formulas.
You post a homework set on the class web site involving the normal density function
.
Students copy this formula from your web page and paste it into their CAS program of choice. Students use CAS program in working assigned problems. It works because the "e" is recognized as the base of the natural exponential function.
The students copies this formula directly into a word processing document to include in a homework assignment.
One student sends email asking a question: "Where does the constant
come from? "
Student includes this expression in email by cutting or pasting (or dragging and dropping).
This expression is correctly rendered by everyone's email clients.
The instructor copies the students question into a posted message in a course managment program (e.g. WebCT) for distribution to the rest of the class.
The student selects the formula
on your web page, and brings up a context-generated menu, from which "plot" is selected. The plotting applet recognizes x as the variable and asks for a plot interval. It also recognizes μ and σ as parameters and requests a value or range of values for each. If a range of values is given, a slider is provided.
Variation: the student edits the formula on the web page to give values to μ and σ, then selects plot.
Several months later, a student from your class wants to use the normal distribution, but doesn't remember the exact formula, only that it had
in it.
The student searchs for "
" in (choose one) [your class notes]
[a CD based version of the class text][an online resource site] and finds the formula.
The formula
is correctly read by a screen reader for a visually impaired student.
Provide a standard method for representing structured mathematical formulas that is widely supported.
"The benefit for us of ... MathML is that it enables us to have algorithmic questions using math. ... So for example a question could ask a student to evaluate the integral of
from a to b, where a, b, and n are all picked at random ... when the question is assigned. Without dynamically rendered math, there would be no way to put the values of the parameters a and b in place on the integral sign."
"The Mathematical Sciences Digital Library is an online resource managed by the Mathematical Association of America with funding by the National Science Foundation."
http://www.mathdl.org/
A web-based tutorial product from Addison-Wesley. I'm sure they'd be glad to explain it to you!
Presentation tags are used when presentation is more important than semantics.
Presentation tags are similar to Mathematica boxes. Tags include <mrow>, <msup>, <mfrac>, and <mn>.
![Underscript[lim, x -> 0] (sin (x))/x](HTMLFiles/MathMLTalk_8.gif)
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
<munder>
<mi>lim</mi>
<mrow>
<mi>x</mi>
<mo>→</mo>
<mn>0</mn>
</mrow>
</munder>
<mo>⁡</mo>
<mfrac>
<mrow>
<mi>sin</mi>
<mo>⁡</mo>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
<mi>x</mi>
</mfrac>
</mrow>
</math>
Because accessibility is important, presentation tags contain a few characters that are semantically-oriented such as ⁡ and ⅆ so that math can be spoken accurately.
Content tags are used when semantics are important and you don't care about the presentation.
vs.
vs. ![]()
For common math, either set of tags will do. Examples of content tags include <int/>, <gcd/>, <cos/>, and <limit/>.
Example of the same expression using content tags
![Underscript[lim, x -> 0] (sin (x))/x](HTMLFiles/MathMLTalk_12.gif)
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<limit/>
<bvar>
<ci> x </ci>
</bvar>
<lowlimit>
<cn> 0 </cn>
</lowlimit>
<apply>
<divide/>
<apply>
<sin/>
<ci> x </ci>
</apply>
<ci> x </ci>
</apply>
</apply>
</math>
Content and presentation tags can be freely mixed.
The semantics tag provides a way to specify both the presentation and content (semantics) of an expression.
<math>
<semantics>
<apply> <divide/>
<ci> a </ci>
<ci> b </ci>
</apply>
<annotation-xml encoding="MathML-Presentation">
<mfrac>
<mi> a </mi>
<mi> b </mi>
</mfrac>
</annotation-xml>
<annotation encoding="Mathematica">
a/b
</annotation>
<annotation encoding="TeX">
{a \over b}
</annotation>
</semantics>
</math>
Surprisingly hard problem to deal with (fonts problems, sheer number of characters)
About 2,000 technical characters
• hundreds of new characters will be part of Unicode 3.2
including d, i (distinct from the double struck d, i), etc.
![MathMLForm[1/((2 π)^(1/2) σ) e^(-(x - μ)^2/(2 σ^2))]](HTMLFiles/MathMLTalk_13.gif)
<math xmlns='http://www.w3.org/1998/Math/MathML'>
<semantics>
<mfrac>
<msup>
<mi>ⅇ</mi>
<mrow>
<mo>-</mo>
<mfrac>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<mi>x</mi>
<mo>-</mo>
<mi>μ</mi>
</mrow>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mrow>
<mn>2</mn>
<mo>⁢</mo>
<msup>
<mi>σ</mi>
<mn>2</mn>
</msup>
</mrow>
</mfrac>
</mrow>
</msup>
<mrow>
<msqrt>
<mrow>
<mn>2</mn>
<mo>⁢</mo>
<mi>π</mi>
</mrow>
</msqrt>
<mo>⁢</mo>
<mi>σ</mi>
</mrow>
</mfrac>
<annotation-xml encoding='MathML-Content'>
<apply>
<times/>
<apply>
<power/>
<exponentiale/>
<apply>
<times/>
<cn type='integer'>-1</cn>
<apply>
<times/>
<apply>
<power/>
<apply>
<plus/>
<ci>x</ci>
<apply>
<times/>
<cn type='integer'>-1</cn>
<ci>μ</ci>
</apply>
</apply>
<cn type='integer'>2</cn>
</apply>
<apply>
<power/>
<apply>
<times/>
<cn type='integer'>2</cn>
<apply>
<power/>
<ci>σ</ci>
<cn type='integer'>2</cn>
</apply>
</apply>
<cn type='integer'>-1</cn>
</apply>
</apply>
</apply>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<power/>
<apply>
<times/>
<cn type='integer'>2</cn>
<pi/>
</apply>
<cn type='rational'>1<sep/>2</cn>
</apply>
<ci>σ</ci>
</apply>
<cn type='integer'>-1</cn>
</apply>
</apply>
</annotation-xml>
</semantics>
</math>
Internet Explorer -- relies on plugins to provide MathML functionality.
Netscape/Mozilla -- current versions of Mozilla support MathML, including MacOSX.
Netscape 7.0 supports MathML on Windows and Linux.
Amaya -- browser from W3C that supports MathML.
MathPlayer (DSI) -- Plugin for IE 5.5 and higher, Windows only. Allows display of MathML.
techExplorer -- future uncertain
Mathematica and Maple both have substantial MathML support, still evolving.
MathType -- exports MathML presentation tags
eGrade -- online testing program that uses MathML
WebCT -- online course management software that recently announced MathML support
S181: Saturday 5:00-5:45, Dogwood
"Tools and Techniques for Your Math on the Web Project"
Bob Mathews, Design Science, Inc.
Among the highlights are:
-- a list of software implementations of MathML with links.
-- MathML FAQ.
-- the current MathML Test Suite.
October 20-21, 2000 at University of Illinois, Urbana, IL
http://www.mathmlconference.org/2000/
Available are the schedule of presentations, an abstract of each presentation, and in many case presentation materials.
June 28-30, 2002, Lisle, IL
http://www.mathmlconference.org/2002/
Ditto.
http://www.dessci.com/webmath/status/
A valuable public service from Design Science, Inc. New editions appear roughly every six months.
From the September 2002 edition: "It is our belief that the HTML+MathML Platform is now fully supported in popular, modern web browsers and is well-positioned to become the dominant medium for online delivery of technical content, for both traditional, static research papers and dynamic interactive presentations."
If you get nothing else from this talk...
ASK SOFTWARE VENDORS IF THEY SUPPORT MATHML!
Make them at least pay lip service to it!
Types of software that should support MathML: mathematical software, (mathematical) word processing, web browsers, distance learning tools, online testing, course management software, etc.
Converted by Mathematica (November 8, 2002)