diff options
Diffstat (limited to 'support/autolatex/translators/plot2pdf.transdef')
-rw-r--r-- | support/autolatex/translators/plot2pdf.transdef | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/support/autolatex/translators/plot2pdf.transdef b/support/autolatex/translators/plot2pdf.transdef new file mode 100644 index 0000000000..6ca26b31da --- /dev/null +++ b/support/autolatex/translators/plot2pdf.transdef @@ -0,0 +1,60 @@ +# autolatex - plot2pdf.transdef +# Copyright (C) 1998-2013 Stephane Galland <galland@arakhne.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +#-------------------------------------------- +# See template.txt for details on the fields +#-------------------------------------------- + +INPUT_EXTENSIONS = .plot .gnu + +OUTPUT_EXTENSIONS for pdf = .pdf +OUTPUT_EXTENSIONS for eps = .eps + +TRANSLATOR_PERL_DEPENDENCIES = Cwd + +TRANSLATOR_FUNCTION =<<EOL { + my $curdir = getcwd(); + my $workingDir = File::Spec->rel2abs(dirname("$in")); + my $extPlotFile = File::Spec->catfile( + "$workingDir", + basename("$in",@inexts).'.autolatex.plot'); + local *TMPFILE; + local *INFILE; + open(*TMPFILE, ">$extPlotFile") or printErr("$extPlotFile: $!"); + open(*INFILE, "<$in") or printErr("$in: $!"); + print TMPFILE "set terminal postscript eps color;\n"; + while (my $line = <INFILE>) { + print TMPFILE "$line"; + } + print TMPFILE "quit;\n"; + close(*INFILE); + close(*TMPFILE); + my $epsFile = File::Spec->catfile( + "$workingDir", + basename("$in",@inexts).'.eps'); + # Change directory in case the plot file contains relative references to data files + chdir("$workingDir") or printErr("$workingDir: $!"); + runCommandOrFailRedirectTo( "$epsFile", 'gnuplot', "$extPlotFile" ); + chdir("$curdir") or printErr("$curdir: $!"); + my $transresult = runTranslator( 'eps2pdf', "$epsFile", "$out" ); + unlink("$extPlotFile"); + unlink("$epsFile") unless ($isepsmode); + $transresult; +} +EOL + |