Monday, April 7, 2008

"Reasonable Basic Algebra" Book, LaTeX help needed

Textbook-l received a very nice email yesterday from a Mr. Alain Schremmer, who operates the website FreeMathTexts.org. Mr. Schemmer (and I apologize right now if he should be referred to by a different salutation) has graciously given permission--but more importantly also a suggestion--that the books that he's been developing should serve as the basis for books on Wikibooks.

His books are already released under the GFDL, so technically no permission would be required anyway. I do think it's more friendly and polite to get permission anyway, as getting into contact with authors before we "steal their stuff" tends to build some much-needed friendships for our little project. More importantly, he alerted us to the existence of these books and suggested that they would make excellent additions to the Mathematics bookshelf at Wikibooks. I agree with him. As anybody who has read my blog before should know our mathematics book, and especially our Algebra-related books, are in need of help. We recently received a donation of a Linear Algebra book, and that project is going slowly but progress is being made nonetheless.

The problem with these books, the first of which is called "Reasonable Basic Algebra", is the same as the problem we are having with the Linear Algebra book: These books are written in LaTeX, and conversion to wikitext is proving to be very difficult to do. There are some specific problems that I've been finding, and I'll try to list some of them here:

  1. There are no automatic conversion tools, at least not ones that are robust, that can do the conversion automatically. Even the best tools require a lot of human intervention for even moderately-complex LaTeX. The books that I've been seeing are definitely "extremely complex".
  2. LaTeX mathematics have far more options then the MediaWiki mathematics rendering engine. Even if we properly insert the tags where they need to go, many equations are going to produce errors because of unknown directives
  3. #2 assumes that we put the tags in the right places. this is not easy, and often requires human intervention.
  4. LaTeX has far more formatting commands and options then MediaWiki does. We could, of course, try to create a million templates to handle all of these, but that isn't particularly practical from my point of view. Plus, pages with hundreds or thousands of template inclusions is going to put a huge strain on the servers.
I was interested at one point in trying my hand at creating a scalable recursive descent parser for LaTeX that could help with the conversion process. Unfortunately, I haven't had the time to do it myself and I don't expect to have that much time available in the foreseeable future.

I want to put out an open call to software developers or volunteer coders who might be interested in helping to create a LaTeX -> MediaWiki book converter. Since there is a little bit of time left in the application cycle, this might make a good Google Summer of Code project. If anybody is interested in this, I would love to hear from you.

1 comment: