LatexRender plugin for wordpress under Panther

By lieven

After three days of desperate trial-and-error I seem to have managed to get latexrender working for wordpress under Mac OS X.
First things first : if you only want to include some symbols in your blog-posts the easiest way to do so is to use mimetex and the corresponding wordpress-plugin written by Steve Mayer. Follow the instructions and you will be able to include a limited subset of LaTeX in your blog within 10 minutes.
If you want more, you have to work a lot harder. The starting point is to follow Steve’s blog-entries on latexrender .
But then under Mac OS X you will probably get error messages when you activate the plugin. The reason seems to be that most versions of imagemagick available for OS X require X-terminal support and PHP gets confused between the two shells. A typical error message is

Warning: copy(70afbabac176169545d01f4bd91f3055.gif): failed to open
stream: No such file or directory in
/Users/lieven/Sites/wordpress/latexrender/class.latexrender.php on line

269

[Unparseable or potentially dangerous latex formula. Error 6 ]

As suggested by Steve Mayer there are two roads to obtain more information on what goes wrong. The first is to uncomment the unlink commands _ at the end of the _class.latexrender.php file and look in the wordpress/latexrender/tmp directory for which conversions were done and which failed. The normal latexrender-procedure is : tex->dvi->ps->gif. Probably you will get all files but the gifs!

Another (and more useful) source of informations is to look in the error-log of the Apache-WebServer and see whether you get things like

This is dvips(k) 5.94a Copyright 2003 Radical Eye Software (www.radicaleye.com)
\’ TeX output 2004.08.30:1433\’ -> 0d48700a5dde6d746813733d26dd8df8.ps

. [1]
sh: line 1: gs: command not found
convert: no decode delegate for this image format

/Users/lieven/Sites/weblog/latexrender/tmp/ 0d48700a5dde6d746813733d26dd8df8.ps\’.

convert: missing an image filename/Users/lieven/Sites/weblog/latexrender/tmp/ 0d48700a5dde6d746813733d26dd8df8.gif\’.

identify: unable to open image 0d48700a5dde6d746813733d26dd8df8.gif\': No such file or directory.
identify: missing an image filename
0d48700a5dde6d746813733d26dd8df8.gif\’.
`

Here the essential point is that the webserver doesn’t seem to be able to find GhostScript (even if you have several versions installed).

To bypass these problems I did two essential things : (1) in the class.latexrender.php file I rewrote the conversions so as to use pdflatex instead of tex (to get immediately a pdf-file rather than the tex->dvi->ps process) and then use convert to translate this pdf-file into a gif-file. (2) the version of convert and include (both part of the ImageMagick package) are those provided by Fink but you should be extremely careful to install the imagemagick-nox package and not the imagemagick package! After the command
sudo fink install imagemagick-nox
you are presented with several configuration choices. Do not choose on auto-pilot the default choices but look for options specifying that there is no X-support!
After this, everything should work. If you want to have a look at how I changed the PHP files, mail me.

, , ,

Leave a Reply

AWSOM Powered