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:
- 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
- Mit latex die .tex Datei in ein .dvi File übersetzen
- 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”