- From: David Poehlman <poehlman@clark.net>
- Date: Thu, 19 Feb 1998 14:38:33 -0500 (EST)
- To: Chris Maden <crism@ora.com>
- cc: w3c-wai-ig@w3.org
lynx had fun with this see below. ∇ · E = ρ ε 0 ∇ × E = - ∂ ⁡ B ∂ ⁡ t c 2 ⁢ ∇ × B = ∂ ⁡ E ∂ ⁡ t + j ε 0 ∇ · B = 0 ∇ ·E rho ep 0 ∇ × E 0 B t c 2 ∇ × B E t j ep 0 ∇ · B 0 E ρ ε 0 E B t c 2 B E t j ε 0 B 0 On Thu, 19 Feb 1998, Chris Maden wrote: > [T. V. Raman] > > MathML has everything you need to do good audio renderings. I've > > been part of the MathML working group since its inception and was an > > active participant in the initial design phase--and have been a > > passive observer since to make sure that the representation was > > adequate for producing multiple presentations. > > While I appreciate the effort that's gone into MathML, I think a > static math document type is a mistake. Moreover, MathML is > schizophrenic about whether it wants to be presentational or > semantic. > > MathML's presentational markup can be accessible by voice or touch, > but with a certain amount of ambiguity. You know that something is > superscripted, or that numbers are positioned one over the other, but > you don't know if the superscript is an exponent or an isotope, or if > the \over is a division or a combinatorial. (Justify <mphantom> from > an accessibility point of view.) > > On the other hand, any static semantic DTD will be ignored by the > scientific and mathematical communities, because new notation is often > introduced to express new ideas. Moreover, MathML's semantic elements > are infix operators - Knuth thought the \over infix was a bad idea > twenty years ago, and only justified it by technological limitations > that no longer hold. > > A better idea, IMO, is to promulgate a markup *methodology* instead of > a DTD, whereby expressions and elements are homologous, and > presentation is in the stylesheet where it belongs. My markup method > is similar to MathML's semantic <apply> and <relation> elements, but > attempting to enumerate all applications and relations is doomed. > Instead, authors can choose appropriate element type names; even > without a stylesheet, the markup is readable, and the author can > provide a stylesheet that allows for whatever new markup he wishes to > introduce. > > As an example, here are Maxwell's equations, in presentational MathML, > semantic MathML, and my own proposal > (<URL:http://www.oreilly.com/people/staff/crism/math/>): > > <!-- presentational MathML --> > <mrow> > <mrow> > <mi fontslant="plain">∇</mi> > <mo>·</mo> > <mi fontweight="bold" fontslant="plain">E</mi> > </mrow> > <mo>=</mo> > <mfrac> > <mi>ρ</mi> > <msub> > <mi>ε</mi> > <mn>0</mn> > </msub> > </mfrac> > </mrow> > <mrow> > <mrow> > <mi fontslant="plain">∇</mi> > <mo>×</mo> > <mi fontweight="bold" fontslant="plain">E</mi> > </mrow> > <mo>=</mo> > <mrow> > <mo>-</mo> > <mfrac> > <mrow> > <mi>∂</mi> > <mo>⁡</mo> > <mi fontweight="bold" fontslant="plain">B</mi> > </mrow> > <mrow> > <mi>∂</mi> > <mo>⁡</mo> > <mi>t</mi> > </mrow> > </mfrac> > </mrow> > </mrow> > <mrow> > <mrow> > <msup> > <mi>c</mi> > <mn>2</mn> > </msup> > <mo>⁢</mo> > <mrow> > <mi fontslant="plain">∇</mi> > <mo>×</mo> > <mi fontweight="bold" fontslant="plain">B</mi> > </mrow> > </mrow> > <mo>=</mo> > <mrow> > <mfrac> > <mrow> > <mi>∂</mi> > <mo>⁡</mo> > <mi fontweight="bold" fontslant="plain">E</mi> > </mrow> > <mrow> > <mi>∂</mi> > <mo>⁡</mo> > <mi>t</mi> > </mrow> > </mfrac> > <mo>+</mo> > <mfrac> > <mi>j</mi> > <msub> > <mi>ε</mi> > <mn>0</mn> > </msub> > </mfrac> > </mrow> > </mrow> > <mrow> > <mrow> > <mi fontslant="plain">∇</mi> > <mo>·</mo> > <mi fontweight="bold" fontslant="plain">B</mi> > </mrow> > <mo>=</mo> > <mn>0</mn> > </mrow> > > <!-- semantic MathML --> > <!-- This is impure, as semantic MathML is lacking vector functions > for the inner or dot product, cross product, divergence, and > curl. It also appears to lack a simple negation, in the > negative-number (as apposed to functional inverse) sense. --> > <relation> > <eq/> > <mrow> > <ci type="vector">∇</ci> > <mo>·</mo? > <ci type="vector">E</ci> > </mrow> > <apply> > <divide/> > <ci>rho</ci> > <ci> > <msub> > <mi>ep</mi> > <mn>0</mn> > </msub> > </ci> > </apply> > </relation> > <relation> > <eq/> > <mrow> > <ci type="vector">∇</ci> > <mo>×</mo> > <ci type="vector">E</ci> > </mrow> > <apply> > <minus/> > <cn>0</cn> > <apply> > <partialdiff/> > <ci type="vector">B</ci> > <bvar> > <ci>t</ci> > </bvar> > </apply> > </apply> > </relation> > <relation> > <eq/> > <apply> > <times/> > <apply> > <power/> > <ci>c</ci> > <cn>2</cn> > </apply> > <mrow> > <ci type="vector">∇</ci> > <mo>×</mo> > <ci type="vector">B</ci> > </mrow> > </apply> > <apply> > <plus/> > <apply> > <partialdiff/> > <ci type="vector">E</ci> > <bvar> > <ci>t</ci> > </bvar> > </apply> > <apply> > <divide/> > <ci>j</ci> > <ci> > <msub> > <mi>ep</mi> > <mn>0</mn> > </msub> > </ci> > </apply> > </apply> > </relation> > <relation> > <eq/> > <mrow> > <ci type="vector">∇</ci> > <mo>·</mo> > <ci type="vector">B</ci> > </mrow> > <cn>0</cn> > </relation> > > <!-- my proposal --> > <equations> > <equation> <!-- equation sets its children equal to each other --> > <divergence> > <vector>E</vector> > </divergence> > <divide> <!-- divide divides its first child by its second --> > <variable>ρ</variable> > <indexed-variable> > <variable>ε</variable> > <constant>0</constant> > </indexed-variable> > </divide> > </equation> > <equation> > <curl> > <vector>E</vector> > </curl> > <negation> > <partial-differential> <!-- partial-differential is of the first > child with respect to the second --> > <vector>B</vector> > <variable>t</variable> > </partial-diffential> > </negation> > </equation> > <equation> > <multiply> > <exponent> <!-- exponent is first child to the power of the > second --> > <variable>c</variable> > <constant>2</constant> > </exponent> > <curl> > <vector>B</vector> > </curl> > </multiply> > <add> > <partial-differential> > <vector>E</vector> > <variable>t</variable> > </partial-differential> > <divide> > <vector>j</vector> > <indexed-variable> > <variable>ε</variable> > <constant>0</constant> > </indexed-variable> > </divide> > </add> > </equation> > <equation> > <divergence> > <vector>B</vector> > </divergence> > <constant>0</constant> > </equation> > </equations> > Hands-On-Technolog(eye)s touching the internet voice: 1-(301) 949-7599 poehlman@clark.net ftp://ftp.clark.net/pub/poehlman http://www.clark.net/pub/poehlman
Received on Thursday, 19 February 1998 14:38:50 UTC