Skip to main content

Pettry rendered LaTeX equations using PHP

When I was writing a simple scientific webapp, during my undergrads studies, I needed to generate some equations to be shown by the app. I was already familiar with LaTeX equation formatting syntax, so I decided to use this nice peace of software.

So, after "googling" a little, I found the imgtex, written by Koji Nakamaru, which is a fast CGI script, written in perl. What I did, was port it to PHP.

To run it, you must have a LaTeX distribution and the dvipng software both installed on the same machine which you will run the PHP script.

Here is the PHP code:


To use this code, you just have to pass the LaTeX commands through GET to the PHP. For example,
adding the following string to your URL:

http://localhost/imgtex.php?res=300&cmd=x=\frac{-b\pm\sqrt{-4ac}}{2a}

The res variable sets the resolution for the generated image and the cmd specifies the LaTeX command. This way, the above URL will produce the following image:

Comments

  1. Thanks, very helpful!

    ReplyDelete
  2. Hi, do you mind posting more detailed instructions? I don't understand how to use this. What should I write before the PHP script (as it is incomplete at the beginning)? Do I define $res = $_GET["res"];?

    Thanks!

    ReplyDelete
  3. Hi Jasper,

    Here is the full source for imgtex.php at my personal homepage.

    ReplyDelete
  4. Thanks! So I just include it in my directory and call it when I need, as long as I have LaTeX and dvipng?

    ReplyDelete

Post a Comment

Popular posts from this blog

uSleep on windows (win32)

I am facing a terrible issue regarding timing on windows. Googling arround, I've found those infos: Using QueryPerformanceCounter and QueryPerformanceFrequency APIs in Dev-C++ ( http://yeohhs.blogspot.com/2005/08/using -queryperformancecounter-and_13.html ) QueryPerformanceCounter() vs. GetTickCount() http://www.delphifaq.com/faq/delphi_windows_API/f345.shtml How to time a block of code http://www.cryer.co.uk/brian/delphi/howto_time_code.htm And Results of some quick research on timing in Win32 http://www.geisswerks.com/ryan/FAQS/timing.html With that I'm trying to write something like a uSleep function for windows: # include<windows.h> void uSleep ( int waitTime){ __int64 time1 = 0, time2 = 0, sysFreq = 0; QueryPerformanceCounter((LARGE_INTEGER *)&time1); QueryPerformanceFrequency((LARGE_INTEGER *)&freq); do { QueryPerformanceCounter((LARGE_INTEGER *)&time2); // }while((((time2-time1)*1.0)/sysFreq)<waitTime); } while ( (time2-time1) <waitTime); } T

Soft body deformation

The wikipedia has a short entry on " Soft body dynamics " but it cites this interesting framework called SOFA. "SOFA [ 1 ] is an Open Source framework primarily targeted at real-time physical simulation , with an emphasis on medical simulation. It is mostly intended for the research community to help develop newer algorithms, but can also be used as an efficient prototyping tool or as a physics engine ." [1] It is also multi-platform. As soon as I have some test written, I will put some shots here. [1] SOFA (Simulation Open Framework Architecture). (2009, March 26). In Wikipedia, The Free Encyclopedia . Retrieved 14:01, May 7, 2009, from http://en.wikipedia.org/w/index.php?title=SOFA_(Simulation_Open_Framework_Architecture)&oldid=279736872

More trickery with gnuplot dumb terminal

In my post " Plotting memory usage on console " the chart doesn't pan the data. Now, using a named pipe, the effect got a little bit nicer. First, we have to run the memUsage.sh script to get a file filled with memory usage info: ./memUsage.sh > memUsage.dat & Then we have to create a named pipe: mkfifo pipe Now we have to run another process to tail only the last 64 lines from the memUsage.dat while [ 1 ]; do tail -64 memUsage.dat> pipe; done & And now we just have to plot the data from the pipe: watch -n 1 'gnuplot -e "set terminal dumb;p \"pipe\" with lines"' And that is it!