More Versatile Scientific Documents

Total Page:16

File Type:pdf, Size:1020Kb

More Versatile Scientific Documents

Viewpoints. web browser CAS Word Processor Typesetting Computational Math database More versatile scientific documents

The MathML people have no successes to point to except in the browser display arena.

A CRITICAL LOOK AT MATHML IN THE COMPUTER MATH WORLD. By Gifford Cheung, Eric Heien Prof. Richard Fateman

1. Introduction

Since its release in April 1998, MathML has been touted by some as the digital math industry’s cure all. Suddenly, there is an official standard for Math on the Web with semantic meaning. CAS, web browsers, and printers can communicate math with each other using MathML. Math typesetting can be clear. In fact, semantic MathML will be able to support computations and operations as well, making actual operations on it possible. All these statements may be true, but what keeps MathML from fulfilling these roles satisfactorily?

We will explore possible solutions to these shortcomings, hopefully clearing some of the boulders on the road towards sufficient math expression authoring and reading.

2. What is MathML?

MathML is the W3C's standard for mathematics representation, a subset of XML. It contains tags for both presentation and semantics, as described by the W3C: [TODO: find a better quote] MathML is intended to facilitate the use and re-use of mathematical and scientific content on the Web, and for other applications such as computer algebra systems, print typesetting, and voice synthesis. MathML can be used to encode both the presentation of mathematical notation for high- quality visual display, and mathematical content, for applications where the semantics plays more of a key role such as scientific software or voice synthesis. MathML is cast as an application of XML. As such, with adequate style sheet support, it will ultimately be possible for browsers to natively render mathematical expressions. For the immediate future, several vendors offer applets and plug-ins which can render MathML in place in a browser. Translators and equation editors which can generate HTML pages where the math expressions are represented directly in MathML will be available soon.

[W3C Math homepage http://www.w3.org/Math/]

3. What Roles in Digital Math Expression Matter?

There are four roles in Math Expression by which MathML, as a standard, should be measured. These roles are particularly distinct from each other. Also some roles seem pretty abstract, we will evaluate MathML as a language that supports or favors these five roles in its structure. The evaluations are based primarily on the W3C specifications for MathML since widespread implementations are few. These standards roles are:

1. Display and Typesetting 2. Expression Editing 3. Math Communications 4. Math Transfer Protocol 5. Computational Language

Please note that evaluating MathML also depends heavily on the intended use of MathML. If you are a student using Microsoft Internet Explorer, you may not care about MathML as a computational language; you may not care about typesetting either. Different perspectives include casual and interactive web browsing, computer algebra systems, word processing, computational mathematics, and databases. Few of these points of view require MathML to be the best all roles. The importance of each role is dependant on the point of view.

3.1. Display and Typesetting:

Requirements of Display and Typesetting

A common problem in computer theory classes in Berkeley today is when published homework assignments on the web are authored in HTML, Powerpoint, or pdf. Mathematical symbols and expressions, especially Greek symbols are replaced by the useless question mark. For example, “  B = C” becomes “? ? B = C.” This problem earmarks the most irritable and limiting shortcoming of displaying math electronically in a one-to-many publishing setting.

The author of an expression ought to have control over exactly how an element is displayed. Correct symbols and exact positioning in math display affects readability and, in consequence, clarity and understanding. Wherever a compliant display engine evaluates his expression, the author needs a consistent output.

On top of the display requirement, a math-typeset standard requires print scalability. Just because an expression displays well at the low 72-dpi resolution of the computer monitor does not mean that the math prints well at 300 to 600-dpi. A printout should not be pixilated; it ought to take full advantage of the typesetting and resolution of the printer.

In summation, the twin gods of MathML display and typesetting should be quality and consistency. Quality is in the display and printing – if a MathML expression is printed with the only same resolution as a Minse[5] gif picture, what’s the point of using MathML? Those users who want the promised versatility and easy editting of MathML while authoring webpages and academic papers cannot sacrifice display and print quality.

gMathML’s display and typesetting capabilities 1. MathML does not guarantee that an expression displayed in the W3C’s Amaya browser will be the same as an expression displayed in IBM’s techExplorer browser. [INSERT TEST: LOOK AT THESE DIFFERENT RENDERINGS OF MATHML] Each implementation of MathML display runs on its own engine, subject to its own display quirks and methodologies. This allows inconsistencies across all clients and programs. An ambiguous math expression must be avoided in every possible way to maintain a practical standard. MathML’s inconsistency risks ambiguity.

2. Microsoft will take its time abiding to the MathML standard … look at the slow pace of XML adoptation… result? No usage and everyone required to do MMathML (Microsoft’s MathML)

MathML today is low quality. There is no W3C or third-party standard for display or print quality. If users are choosing to use MathML, they have no promise that what they get is even readable. MathML today has sketchy consistency: Authors are not guaranteed that what they see is what readers will see.

Proposed Solutions

If MathML itself is revised to accommodate professional output quality and consistent display, there are two routes to go. One is to add to MathML itself, specifying tags that will unambiguously detail display and print options. The second is to enforce a standard of MathML readers, ensuring uniformity across viewing and printing programs.

Adding to the MathML specification entails adding tags that specify preferred line-break locations, toggle between horizontal and slash divide bars, pick font choices, and so on. These additions must solidify display and print details with the goals of quality and consistency in mind. There potential downsides to this. Burdening an already cluttered MathML expression with additional tags makes MathML expressions even more bulky. Theoretically this should not be a problem for end-user math authors, since MathML is expected to be authored by programs, not hand authored [ref].

The alternate solution is to enforce standards in MathML readers. This requires no alteration of MathML as it is currently specified. Instead all readers would have to satisfy a display standard and a print standard. The standard would have a declarative definition of how a MathML expression is displayed or printed. Ambiguous issues like line breaks and Greek symbols would have standard defaults. In this scenario a student downloading a MathML expression from a class website can know that if his browser is MathML standard, he is guaranteed to see what the professor authored. The danger of this solution is that an inflexible and inadequate standard will limit the amount of variability in expression output.

This alternate solution seems most likely to come to pass naturally on a third party level. Authors will begin publishing MathML that they know displays correctly only in Netscape or Internet Explorer exclusively. They will then accompany their published expression with a caveat: “VIEWABLE ONLY IN MICROSOFT INTERNET EXPLORER X.” As likely as this is to pass, having a third party standard develop will turn control of MathML over to a private organization and private purposes. How desirable this is not in the scope of this paper.

3.2. Expression Editing

An expression-editing standard has a host of requirements. There are two levels of requirements: basic requirements and user interface requirements. Basic requirements center on functionality: can any math expression be created from these set of tools provided? User interface centers on usability: can a novice to the tool, familiar with math, create the exact math expression they have in mind?

Granted, MathML does not provide more than a language. But, MathML’s

3.3 Math Communications [TODO : imperfect standards conversions] [TODO : openmath comparison to mathml] The most important requirement of a math communications standard is the size of primary set of expressions and its ability to describe elements not natively expressed in the primary. Supposing two CAS are transferring information between each other, they need to

Front end/ Back end: International UN sponsored cocktail party

Public versus private communications one-to-one one-to-many

Public the internet, and by relation, HTML webpages are arguably the best way to publish information.

3.5 Math Transfer Protocol: Semantic Importance [TODO : openmath comparison to mathml] [TODO : mathml’s ‘definition url’] A math transfer protocol can be used inter and intra program. What matters is the translation loss 3.5 Computational Language [TODO : compare to lisp] 4. Conclusion [TODO: Mathml will succeed because it is linked to the Web and the w3c] Reference [1] www.w3c.org (mathml section) [2] www.openmath.org [3] Cool, Thomas The Disappointment and Embarrassment of MathML 2000 http://www.dataweb.nl/~cool/Papers/MathML/OnMathML.html [4] [5] Minse reference

Recommended publications