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

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!

powerpoint slides to jpeg

Looking for some way to convert power point slides to JPG, I've found this site: http://www.commandlinefu.com/commands/browse It has tons of good linux command line tips. And here is the tip about the pdf to jpg which brought me there: http://www.commandlinefu.com/commands/view/719/convert-pdf-to-jpg And to convert the powerpoint to pdf before, one can issue the unoconv command: unoconv -f pdf slides.ppt