- 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