Español English

The "Q" was intended to mean "quick", since QMath began in 1998 as an abbreviated notation for MathML. The first version (0.1) just expanded the abbreviations to full MathML element names, and added the extra markup such as "<mrow>" and the like.

When I tried to trascribe some mathematical text from my classnotes I found the non-precedence prefix notation imposed by that scheme to be very inconvenient, which opposed the basic intent of QMath. So I learnt how to use Bison (a LALR parser generator) to make a precedence-aware parser that could use a more conventional infix notation. The document was still written as HTML with embedded math expressions of the form $2+2=4$. By then, I had already found about OpenMath, so I made the internal representation of math expressions to be very similar to OM objects. This was QMath 0.2.

At this point, in late 1999 I realized that I wanted a more generalized document format, to be able to produce not only HTML/MathML, but also LaTeX and other formats. I had found about DocBook, so I started to learn about it, and in February 2000 I finally stopped development of QMath 0.2.

In March 2000, I found and interesting project called OMDoc which seemed what I wanted. DocBook was too much biased towards presentation details, while I had been seduced by the idea of presentation independence. So I decided to use OMDoc.

In June, I knew of a W3C draft called XML Infoset, which seemed like a low-level representation of an XML document, and decided to experiment with it, so I made a C++ hierarchy modelled after it, and wrote a new math expression object which was very close to the OpenMath standard, with a method that produced an XML element information item from that.

In August the program worked like this: you built an XML document in memory, then an expression using the OMObject methods, and finally dumped that object into the XML document.

However, in the meantime the original OMDoc web page had disappeared, so I thought they had dropped it, and started to experiment with generating DocBook documents for the tests.

I didn't like it, though. I had kept a copy of the OMDoc paper, and found it much more adequate for my intentions that DocBook, so in late September 2000 I just started to follow all the links I had about it, and found the new page in a link from Michael Kohlhase's home page. I sent him a bug report about the page, and we begun to discuss OMDoc and QMath. His encouragement made me decide to go with OMDoc finally, so I started to develop the new parser, this time based on Unicode input.

In February 2001 I contacted Paul Libbrecht with some improvements for his DTDExplorer application, and since then he has been the main supporter of QMath and built his JEditOQMath authoring environment for ActiveMath around it. The other people at the ActiveMath group, particularly George Goguazde, have helped me a lot to improve QMath with bug reports and feature requests.

Twitter Facebook
Digg CiteULike StumbleUpon submit to reddit Technorati Yahoo! Bookmarks Google Bookmarks Mister Wong Windows Live