#9774: Upgrade the notebook to use MathJax instead of jsMath
---------------------------+------------------------------------------------
   Reporter:  mpatel       |       Owner:  jason, was
       Type:  enhancement  |      Status:  new       
   Priority:  major        |   Milestone:            
  Component:  notebook     |    Keywords:            
     Author:               |    Upstream:  N/A       
   Reviewer:               |      Merged:            
Work_issues:               |  
---------------------------+------------------------------------------------
Changes (by rbeezer):

 * cc: robert.marik (added)


Comment:

 I've been experimenting a bit with `MathJax`, outside of the notebook.
 Mostly thinking about how it will handle tex4ht output in jsMath mode, but
 here are some some observations that might be useful:

 1.  Easier in most ways to structure a page to use `MathJax`.  Just insert
 something like

 {{{
 <script type="text/javascript" src="path-to-MathJax/MathJax.js"></script>
 }}}

 No need for a "process()" call at the end, etc.


 2.  Default is to not recognize single dollar-signs as delimiters.
 Alternative is  {{{\(..\)}}}.  This would be a good thing, since if a user
 adds text (via TinyMCE) right now jsMath tries to parse the following as
 math.  {{{$$..$$}}} and  {{{\[..\]}}} both work for display math.  We
 would break lots of old worksheets if we stopped recognizing {{{$..$}}}.

 3.  There is a jsMath compatibility mode.  I believe I've found one bug in
 this already (reported upstream).  I'd imagine this is not a development
 priority, but who knows?

 4.  Modes and configuration is controlled globally by
 {{{config/MathJax.js}}}  which is just one huge well-commented Javascript
 object.  It can be overridden in a web page by adding a new version into
 the script block mentioned above.  Maybe we want to make this easy for
 users to access, or maybe it is easy already, or maybe we don't want to
 bother.

 5.  This looks to me like the best introduction to the types of decisions
 we will want to make about what to cut over to:
 http://www.mathjax.org/resources/docs/?configuration.html

 6.  `MathJax` is HUGE.  Fonts for lots of Unicode points, I guess.  SVN
 checkout is 53 MB, after unzipping  fonts.zip  it all occupies  171 MB.

 7.  I just noticed this morning that {{{html.table()}}} uses
 {{{class="math"}}} which is a jsMath way to tag span's or div's for
 processing.  I haven't found how to do something similiar in `MathJax`,
 though this will work in jsMath compatibility mode.  A very small test
 would indicate that the two modes can be used at the same time.

 8.  Consonant with (2) and (7), I'd love to see the notebook formatting
 move to something closer to rigorous XML (ie XHTML, I guess).  Certain
 types of processing would be easier if we did, but that is not really what
 this ticket is all about.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9774#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to