views:

194

answers:

3

I am looking for a purely client side javascript library that renders latex equations as HTML/CSS. I hate that all I see are utilities that request an image from a server.

Example usage:

latex('\frac{a}{b}')

output:

<div style="position: relative; display: inline-block; height: 2em; width: 1em">
  <div style="position: absolute; top: 0em">a</div>
  <div style="position: absolute; top: 1em; border-top: 1px solid black">b</div>
</div>

I ask because if this does not exist I am considering writing it, perhaps as a jQuery plugin.

+6  A: 

jsMath renders TeX forumlas. It is also used by mathoverflow.net and the web interface of the mathematics software sage. I assume they know what they are doing ;)

From the homepage:

The jsMath package provides a method of including mathematics in HTML pages that works across multiple browsers under Windows, Macintosh OS X, Linux and other flavors of unix. It overcomes a number of the shortcomings of the traditional method of using images to represent mathematics: jsMath uses native fonts, so they resize when you change the size of the text in your browser, they print at the full resolution of your printer, and you don't have to wait for dozens of images to be downloaded in order to see the mathematics in a web page. There are also advantages for web-page authors, as there is no need to preprocess your web pages to generate any images, and the mathematics is entered in TeX form, so it is easy to create and maintain your web pages.

Felix Kling
I don't think jsMath has much in the way of LaTex support -- just enough plain TeX to render equations. Nevertheless, it doesa great job, and I consider it the best-of-breed tool for this scenario.
Jim Lewis
mathjax is still active - last update was apr 2010. it's gone beyond jsmath.
duffymo
@duffymo: I would not consider jsMath as dead (not yet). Bug reports are still reported and answered.
Felix Kling
You used the word "dead", not me. I said MathJAX had its last release on 15-Apr-2010. jsmath web page says "last modified Mar 2009". Not sure if that means the site itself or the software.
duffymo
+5  A: 

There's mathjax and jsmath.

duffymo
He explicitly asked for a non server-based solution. So what you are suggesting are not valid options.
Pablo Santa Cruz
@Pablo: jsMath runs in the browser. I would not consider this answer as *not useful* +1 from me.
Felix Kling
"...I am looking for a purely client side javascript library.." - both of these are Javascript libraries that run in the browser. How are they not valid?
duffymo
I see... jsmath apperently might be what he is looking for. Mathjax on the other hand, is not. He/She stated in the question that "hate that all I see are utilities that request an image from a server". So mathjax is probably not an option. FWIW, -1 wasn't from me.
Pablo Santa Cruz
As I understand it, MathJAX is built on top of jsmath. It's actually the one that's "live", since jsmath isn't active anymore. They're the same technology, so either both apply or neither does.
duffymo
You are right, MathJax is the successor of jsMath (the author of jsMath also participates in MathJax).
Felix Kling
Yes, exactly. Thanks, Felix.
duffymo
+3  A: 

MathJax is an evolution of and replacement for jsMath by the same main developer, Davide Cervone, but with corporate backing. It is not built on top of jsMath but is essentially a re-engineering of it. It follows pretty much the same principles as jsMath but adds support for MathML and takes better advantage of modern browsers, webfonts, and JavaScript technology. While Davide will answer questions about jsMath, no future development will likely occur on it and its users are strongly encouraged to move to MathJax. My company, Design Science, is one of its backers.

Paul Topping