Math in Plone
Upcoming SlideShare
Loading in...5
×
 

Math in Plone

on

  • 1,492 views

 

Statistics

Views

Total Views
1,492
Views on SlideShare
1,492
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Math in Plone Presentation Transcript

  • 1. Authoring and Publishing Math in Plone & FullMarks
  • 2. How do crazy people put math on the web?
    • Write it on a piece of paper, take a photo and upload it to your site. Seriously?
    • 3. Write some Latex, print it out, take a photo and upload it. Hard core!
    • 4. Write some Latex convert it to an SVG image and upload it. Wow you can do that!
  • 5. Can you see the problem with all of these approaches?
  • 6. No collaboration on the web
  • 7. MathML to the rescue!
  • 8. What is MathML
    • A standard published by the W3C
    • 9. MathML Version 1.0 published in 1998
    • 10. XML for describing Math
    • 11. MathML deals not only with presentation (Presentation MathML) but also the semantic meaning of an equation (Content MathML).
  • 12.
      The expression ax 2 + bx + c as Presentation MathML
    <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <!DOCTYPE math PUBLIC &quot;-//W3C//DTD MathML 2.0//EN&quot; &quot;http://www.w3.org/Math/DTD/mathml2/mathml2.dtd&quot;> <math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;> <mrow> <mi>a</mi> <mo>+</mo> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mi>b</mi> <mo>+</mo> <mi>x</mi> <mo>+</mo> <mi>c</mi> </mrow> </math>
  • 13.
      The expression ax 2 + bx + c as Content MathML
    <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <!DOCTYPE math PUBLIC &quot;-//W3C//DTD MathML 2.0//EN&quot; &quot;http://www.w3.org/Math/DTD/mathml2/mathml2.dtd&quot;> <math> <apply> <plus/> <apply> <times/> <ci>a</ci> <apply> <power/> <ci>x</ci> <cn>2</cn> </apply> </apply> <apply> <times/> <ci>b</ci> <ci>x</ci> </apply> <ci>c</ci> </apply> </math>
  • 14. All that markup for such a simple formula! No way give me my pencil, paper and camera.
  • 15. Where MathML is too hard for human consumption WYSYWIG editors and text markup can help
  • 16. ASCIIMath is simple text-based notation for math that is translated to MathML using Javascript. It was developed by Peter Jipsen from Chapman University in California.
  • 17. ASCIIMath Facts
    • Allows input in both ASCIIMath and Latex
    • 18. Transforms to Presentation MathML
    • 19. One single javascript library: <script src=”ASCIIMathML.js” type=”text/javascript”/>
  • 20. ASCIIMath Examples
    • E = m c^2
    • 21. sum_(i=1)^n i^3=((n(n+1))/2)^2
    • 22. e^(i pi)=-1
    • 23. AA x in CC (sin^2x+cos^2x=1)
    • 24. sqrt(x y)
    • 25. Try them out here: http://mathcs.chapman.edu/~jipsen/mathml/asciimathdemo.html
  • 26. Only one problem. After 12 frickin years MathML is still only supported by Firefox.
  • 27. “MathJax is an open source JavaScript display engine for mathematics that works in all modern browsers. No more setup for readers. No more browser plugins. No more font installations… It just works.” http://mathjax.org
  • 28. Math in Plone
    • David Lippman developed TinyMCE Plugins that use ASCIIMathML.js for entering math. Math and function graphs are rendered as images.
    • 29. For FullMarks, we rewrote these plugins to store and render MathML.
    • 30. All MathML is converted by MathJax for cross-browser display.
    • 31. Function graphs are rendered as SVG since this is not currently supported by the MathML standard. Browser support for SVG is much better than MathML.
  • 32. Links
    • MathML Standard: http://www.w3.org/TR/MathML2/
    • 33. ASCIIMath.js: http://mathcs.chapman.edu/~jipsen/mathml/asciimath.html
    • 34. MathJax: http://www.mathjax.org/
    • 35. FullMarks TinyMCE Plugins: http://pypi.python.org/pypi/fullmarks.tinymceplugins.asciimath http://pypi.python.org/pypi/fullmarks.tinymceplugins.asciimath
    • 36. Source for plugins: http://github.com/fullmarks