- From: frederic07wang <frederic07wang@aol.com>
- Date: Thu, 31 Aug 2006 14:20:14 +0200
- To: www-amaya-dev@w3.org
Hello,
My name is Frederic Wang and I would like to contribute to the Amaya
Project. I'm a french student in « prepas math » so I'm particulary
interested in the MathML interface. Actually, I discovered Amaya few
years ago when I decided to put mathematical pages on my website
<http://www.maths-informatique-jeux.com/>. Nevertheless, I agree with
you when you say that « the interface is quite poor ». I have been
waiting for improvements for a long time but the team is certainly
working on other part of Amaya. I saw in open projects that you are
looking for contributors to « MathML palette/macros » and so I decided
to help you for this. This mail will expose what I plan to do and permit
me to know if you agree with my ideas and if some people are already
working on this. I would also like to get informations about the part of
the source I have to modify.
Here are the three main ideas I will developpe now :
* Completing the MathML Palette
* Adding a semantic mode
* Using semantic to create new tools
------------------------------------
Completing the MathML Palette
Completing the palette with mathematical structures is what I think
the easier to do, but I need to know which piece of the program have to
be changed. I don't think there is a lot of things to say about the
palette, I only have to prepare and sort a list of often used
mathematical structures. This list must of course include the one of
content tags.
Just note that except for the sum and the integral, all the other
buttons are in fact the transcription of a MathML presentation tag. Let
put them in a "presentation tags" section and add others sections
correponding to severals mathematical domains : logic, set theory,
arithmetic, analysis... It may also be possible to classify according to
the category of users : students, researchers, ingeneers, physicians...
Adding a semantic mode
I know Amaya supports only the presentation tags but I think very
interesting to include the content tags. Before explicating why, let me
give the way I feel they have to be introduce in the menu. Let consider
the palette have already been improved and can generates presentation
tags for mathematical constructions. If you add others buttons for
content tags, the user may ask himself what is the difference between
the both types and also is likely to mix them. Moreover It would
sometimes be problematic to decide the style of code that have to be
generated : for instance when the user push the "+" button when editing
a formula, should amaya insert a <plus/> or a <mo>+</mo> tag ?
My suggestion is to add an option that allows the user to switch
between semantic/syntaxic mode. Of course this don't really prevent the
user to mix the two types but in fact this is allowed by MathML 2.0
under specific conditions. As a consequence, it would also be important
for the program to distinguish content and presentation tags in order to
control that their uses are correct.
A converter semantic/syntaxic will also be welcome. Converting
content to presentation should be easy as the semantic tags are supposed
to be transcripted to the screen. The inverse seems more difficult and
the converter would only help the user by asking what are the semantical
significance of each part of the formula.
Using semantic to create new tools
It has already discuss in the W3C recommendation of MathML 2.0 about
the importance of using semantic tags. Let me add an other one more
linked to an editing point of view. Even if Amaya allows to quickly
create mathematical contructions, some people can feel easier to
directly write a code in TEX using copy/paste etc But the semantic
approch has a great advantage : Amaya would be able to understand what
the user means and to be more likely to help him in his redaction. Of
course, programming this will be more complex.
An important and difficult point is to define all the mathematical
properties of an object in order to manipulate him during a proof.
Moreover some others notions could be add by the user, for instance with
the <declare> tag. So it is necessary to have a data structure to store
informations on an object. So a first example of the Amaya assistance is
controling the correct uses of mathematical objects.
An other one is to help the user to make classical manipulations.
When there is a succession of equalities or of logical equivalences,
instead of copy/paste the preview formula and modify what he wants to
change, he could use a button that do the job for him : apply a function
to the too members of an equality (especially when this function is a
1-1 onto map) or "add" (in sense of any law group) the same element at
this members, developpe an operation than is distributive on an other
one (times on plus, union & intersection, conjection & disjonction),
developpe or group by a Chasles relation (vectors, integral etc) or a De
Morgan law (in logic, set theory), developpe the determinant of a matrix...
------------------------------------
I also have questions about the MathML 2.0 semantic tags, for
instance how to represent something like "x + 5 = y > 8" ie what is the
dispostion of <eq/> and <gt/> tags ? Or is it possible to represent the
union or intersection of an indexed family of sets as it is with <prod/>
or <sum/> ?
Fred
Received on Thursday, 31 August 2006 12:20:32 UTC