<< Chapter < Page | Chapter >> Page > |
As pointed out, the MathML specification, in addition to providing details about its element, also defines additional syntax and grammar for MathML markings. First additional rule pertains to restriction on the assignment of the values to the attributes of the MathML element (say only a positive value). XML does not put this kind of restriction. The second additional rule pertains to the different treatments given to the child elements placed within a MathML element. Its order and uses are defined by MathML DTD. In MathML, we would require to place child elements in certain order to satisfy the requirement of necessary arguments in a particular order.
In the nutshell, we can conclude that syntax and grammar is largely defined by XML’s DTD; whereas details of MathML elements and few additional syntax and grammars are defined by MathML DTD.
Writing codes in MathML appears complex, but it is not so in practice when taken up with certain basic planning. In particular, following facts that makes this task easy are :
(i) Coding paradigm in MathML is linear which proceeds from left to right.
(ii) There are about 25 mark up elements to master to write MathML for most of the situations - out of which only 10 may be regularly used.
(iii) There are ways around via copy (ctrl+c) and paste (ctrl+v) to replicate blocks of codes.
I was initiated to write a physics course for higher secondary school students on the connexions platform. It appeared to be a great place to write modules, courses and books. The concept of publishing and sharing knowledge without going into the trouble of finding a publisher was heaven-sent. I started with great energy and enthusiasm till I hit the road block of handling mathematics for my course.
There exists great many helps, tutorials, guides and “go around” suggestions splattered on the web site for using MathML, but it looked as if I needed a full dress down on this medium of mathematics for web publishing. By all counts, it appeared to be a real pain, constantly taking my attention away from the basic task of writing book/course on physics. I was just not satisfied with “work aorunds” - always fearing I might eventually run in to the dead end - right when I had finished creating bulk of the material for the course.
Eventually, what I wanted that I be sure of expressing MathML quickly and effectively. To this end, I have conjured up this tutorial that takes the help of familiar softwares available on the desktop to implement MathML.
In this course, we can begin with what is available on the desk top and what we had been using all along. Just we need to download a browser supporting MathML. In my case, the Internet explorer, on the desktop was out of the synch and so I downloaded Mozilla Firefox (easy to download from : http://www.mozilla.org). The newer version of IE also supports MathML. There is no preference. It is just a question of what you have. Then, using the MS Word - the standard text editor available on most desktops - we can experiment through mathematical constructs and quickly acquire sufficient skills to go ahead with the electronic publication.
I would, however, be careful to spell out the limits on the coverage. Let us be clear that this course is not intended to be a comprehensive treatment on MathML. Instead, the coverage is restricted to areas, which form the basic part of the electronic publication of mathematical content. For this reason, not-so-useful details of attributes, parameters, options, tags, elements etc are simply spared. Further, the style of presentation is result oriented – not “teaching type”, and is solely based upon the perception of difficulties in presenting mathematics on web and its solution in using MathML.
It is my sincere endeavor to help authors, who feel the same about MathML and beginners who want to understand MathML paradigm in basic form. I am looking forward to views and ways to improve this course.
Notification Switch
Would you like to follow the 'A primer in mathml' conversation and receive update notifications?