- From: Michel Fortin <michel.fortin@michelf.com>
- Date: Wed, 7 Jun 2006 19:50:17 -0400
Le 7 juin 2006 ? 14:47, Ian Hickson a ?crit : > So, while I applaud the re-use of ISO12083 here, it seems like an odd > choice. The resulting language seems to be just as verbose as > MathML, so > why not just reuse MathML, which already has a Web presence? Also, > your > version of the vocabulary doesn't seem quite the same as ISO12083, > which > means we would be introducing yet another mathematical markup > language, in > a space which already has many such languages. I'd like to try something a little simpler. So here is my idea for a math markup. I wrote that as a cheat sheet, not as a specification, because it was simpler for me and because I think it gives a good glimpse at what I'm trying to do. But surely a more formal specification with that later on. Here it is: - - - Use <var> for variables of any kind, with a "type" attribute to identify vector, matrix or other special kinds of variables. <var type="vector">x</var> Use <sup> for exponents. <var>x</var><sup>2</sup> Use <sub> for matrix indices. <var type="matrix">X</var><sub>2,2</sub> Use <frac> for fractions, with <num> and <den> inside, as proposed by White and others. <frac> <num>1</num> <den>2</den> </frac> Use <radical> for radicals, with <radix> and <radicand>, as proposed by White. <radical> <radix>2</radix> <radicand>2</radicand> </radical> Use <matrix type="..."> for matrices, with <mr> for rows, and <md> for cells (like for tables). Just a one column- or a one row- matrix for vectors. <matrix type="det"> <mr><md>1</md><md>2</md></mr> <mr><md>3</md><md>4</md></mr> </matrix> Use <fence type="..."> for any kind of fence. <fence type="floor">expression</fence> Use <bounds>, <sup>, and <sub> to add lower and upper bounds to <fence type="bounds">: <fence type="bounds"> <var>x</var> <bounds> <sub>0</sub> <sup>100<sup> </bounds> </fence> Use <integral> and <bounds> for integrals. <integral> <bounds> <sub>0</sub> <sup>100<sup> </bounds> 3<var>x</var> d<var>x</var> </integral> Use <sum> and <bounds> for big sum operators. <sum> <bounds> <sub><var>x</var> = 0</sub> <sup>100<sup> </bounds> 3<var>x</var> </sum> Use <product> and <bounds> for big product operators. <product> <bounds> <sub><var>x</var> = 0</sub> <sup>100<sup> </bounds> 3<var>x</var> </product> Use <limit> for limits: <limit> <var>x</var> -> 0 </limit> <frac> <num><var>x</var></den> <den>0</den> </frac> Use <formula> to delimit formulas that should stand out of the main prose. Use ruby annotations for the purpose of over- and under- script/braces. <http://www.w3.org/TR/ruby/> Assuming some generic element is adopted for localized numbers, it could be reused inside formulas too. - - - Summary 16 new math-specific elements: * <frac>, <num>, and <den> * <radical>, <radix>, and <radicand> * <matrix>, <mr>, and <md> * <fence> * <bounds> * <integral>, <sum>, <product> * <limit> * <formula> 5 ruby annotation elements: * <ruby> * <rbc>, <rtc> * <rb>, <rt>, <rp> 3 reused HTML elements: * <var> * <sup>, <sub> I think all of these new elements can be styled decently with CSS. I can't say much myself about how suitable it is for a conversion from LaTeX however. I'd appreciate comments on that and any other issue or omission. Michel Fortin michel.fortin at michelf.com http://www.michelf.com/
Received on Wednesday, 7 June 2006 16:50:17 UTC