Quicktipp: Gnuplot und Latex… Der ewige Kampf

Eigentlich gibt es viele Wege, Gnuplot Grafiken ordentlich in Latex Dokumente einzubinden. Aber alle sind irgendwie doof. Besonders, wenn man pdflatex verwendet, kann es schwierig werden, da Gnuplot lieber mit postscript Formaten hantiert.

Mein Ziel war es, alle Beschriftungen in der Schriftart meines Dokumentes zu haben, den Graphen aber in einer gesonderten PDF Datei. Das hab ich durch ein simples Shell script und die vielen Tools geschafft, die Latex mitbringt.

Gelöst hab ich es so:

  1. Mit dem Terminal epslatex und der Option standalone von Gnuplot eine Latex Datei erstellen lassen, welche ein gleichzeitig erstelltes eps Bild vom Graphen einbindet. Die Beschriftungen sind im Latex File als Text
  2. Mit latex die .tex Datei in ein .dvi File übersetzen
  3. Anschließend noch dvips und pstopdf anwenden, und fertig ist das Bild

Schwierigkeiten gabs eigentlich nur dabei, aus dem Gnuplot file automatisch den Namen der Ausgabedatei herauszuholen, aber auch das hab ich dann hinbekommen.

Hier das Shellscript:

#!/bin/bash
mkdir temp
cp $1 ./temp
cd temp
value=`cat $1 | grep -e 'set output' | cut -d'"' -f 2`
gnuplot $1
latex $value > /dev/null
dvips *.dvi > /dev/null
pstopdf *.ps > /dev/null
cp *.pdf ../
cd ../
echo "PDF created"
rm -rf ./temp

In der Gnuplot Datei, welche als Argument an das Script übergeben wird, braucht man jetzt nur noch folgendermaßen das Terminal und den Output festlegen:

set terminal epslatex color standalone
set output "output.tex"

Drauf achten, dass das Shell script doppelte Anführungszeichen bei set output erwartet.
Voraussetzung sind natürlich all die Tools, die das Script aufruft.

0 Responses to “Quicktipp: Gnuplot und Latex… Der ewige Kampf”


  • No Comments

Leave a Reply