#!/usr/bin/perl -w
#by Torben Menke
#http://www.entorb.net
# uses Latex to render formulas and save them as graphics
# give tex-file witch contains formula as parameter
# \begin{align*}
# mathstuff
# \end{align*}

use strict;
use warnings;
use Cwd;
use Data::Dumper;

my $cwd = cwd;
my $usage = "latex2img.pl inputfile1.tex inputfile2.tex ... \n";

if (not $ARGV[0]) {
die "No parameters given. \nUsage: $usage";
}
my @listoffiles = @ARGV;
foreach my $inputfile (@listoffiles) {
my $filename = $inputfile;
$filename =~ s/\.[^\.]+$//;

open (INFILE , "< $inputfile") or die $!;
my $mathstuff = join "",<INFILE>;
close INFILE;

print Dumper $mathstuff;

chdir '/tmp/';
my $latexfilecontent =
'\documentclass[a4paper,landscape,fleqn]{article}
%\usepackage[a4paper,landscape]{geometry}
\usepackage[landscape]{geometry}
%\geometry{left=1mm,textwidth=29cm,top=1mm,textheight=21.0cm}
\geometry{top=1mm, bottom=1mm, left=1mm, right=1mm}
\setlength{\parskip}{2ex plus0.5ex minus0.3ex}
\setlength{\parindent}{0pt}
\usepackage[utf8]{inputenc} % Umlaute (Linux)
\usepackage{amsmath}
\begin{document}
\pagestyle{empty}
\begin{Huge}
'.$mathstuff.'
\end{Huge}
\end{document}
';

open (FILE, "> latexrender.tex") or die $!;
print FILE $latexfilecontent;
close FILE;
print `pdflatex latexrender.tex`;
print "--->PDFLatex done\n";
#print `pdftops latexrender.pdf`;
#print "--->ps done\n";
## probs with big equations
#print `eps2eps latexrender.ps latexrender.eps`;
#print "--->eps done\n";

print `convert -density 60 -trim -transparent "#FFFFFF" latexrender.pdf latexrender.png`;
print "--->png done\n";

# move output to cwd
map {
rename "/tmp/latexrender$_", "$cwd/$filename$_" if -f "/tmp/latexrender$_";
} qw(.png .eps);

unlink <latexrender.*>;
chdir $cwd;
}



#print `latex latexrender.tex`;
#print "--->Latex done\n";
#print `dvips latexrender.dvi`;
#print "--->ps done\n";
#print `eps2eps latexrender.ps latexrender.eps`;
#print "--->eps done\n";
# does not work when using Huge font
#print `epstopdf latexrender.eps`;
#print "--->pdf done\n";

Hope you found what you where looking for. Feel free to drop me a line
Torben