Improvement of the MathML editor

Hi all,

As I said yesterday, I've started to improve the way one can produce 
formulae using Amaya. I write this mail because I suppose users may want 
to know what features I plan to add and give suggestions and comments. 
I've two main ideas:

1) Improving the way formulae are typed: extending the scope of "ASCII 
strings" that are automatically converted in MathML.
2) Improving the MathML panel: adding new pre-defined construction and 
allowing user to customize the panel.

1) Using LaTeX-like fragment has been requested by some teachers from 
the PALETTE project. Many people who are used to write math with LaTeX 
are likely to be interested in this option. I'm not a TeX user and I 
think that for complex formulae, it is better to use the Wysiwyg 
interface: things like "\sqrt{\frac{\alpha}{2} x}" (25 characters) can 
be written faster with "Ctrl m q, Ctrl m f, Ctr g a, arrow, 2, arrow, x" 
(7 commands). Moreover you immediatly get the result displayed and don't 
need to care about syntax. However, I believe a "ASCII syntax" is 
sometimes useful, especially when it is "natural". For instance 
everybody have already used x^2 or a_0 to indicate 
superscript/subscript. Another example is chemistry: for instance one 
would like "HCl + H2O <-> H3O+ + Cl−" to be immediatly splitted.

Currently, I've study how a general string parser could be integrated in 
Amaya and experiment it in the special case of chemical molecules. For 
the moment, the only issue with this parser is that only ASCII encoding 
is accepted for the source language. How the different modes of edition 
would be selected? First I thought switching modes using shortcuts was a 
good idea, but now I would prefer insertion of "placeholder" with an 
(internal) attribute that indicates how the element will be parsed. If 
the parsing fails (error of syntax), then the element is transformed in 
<mtext/> and preserves its attribute, so that the user can fix the 
syntax and the string is parsed again.

First, I'll continue my work on the "chemical mode" and then look for 
"units mode" (for physics, chemistry...) and "LaTeX-like mode" (for 
basic constructions).

2) The current panel covers all the "Content MathML" notations but it 
would be useful to add pre-defined constructions for Physics/Chemistry. 
Following the idea of "SVG templates" that are stored in external .svg 
files, I think it would be possible to create "MathML templates" with 
external .mml files, so that adding new constructions would be easier. 
Additionnaly, people should be able to select their "favorite 
constructions" in the panel so that they are directly accessible. This 
is a long term plan.

Frédéric Wang

Received on Saturday, 7 March 2009 14:51:10 UTC