Archiv verlassen und diese Seite im Standarddesign anzeigen : Dot-Dateien (Graphviz) in LaTeX
Hi,
hier kommt gleich meine nächste Frage.
Nutze dot-Dateien und erstelle mit Graphviz daraus Postscript-Dateien.
Diese Postscriptdateien möchte ich in LaTeX einbinden. Nutze pdflatex und weiss inzwischen auch das auf diesem Weg keine Postscript-Dateien verwendet werden, sondern PDF, JPEG, PNG. Soweit so klar.
Wie kriege ich ps2pdf dazu aus der Postscript-Datei ein PDF zu erzeugen mit den Abmessungen der Postscript-Datei und nicht eine DIN A4-Seite.
Beispiel:
aus der DOT-Datei generiertes PNG -> 200x539 Pixel
aus der DOT-Datei generiertes PS -> umgewandelt mit ps2pdf -> DIN A4...
ps2pdf -g200x536 edi.ps edi.pdf erzeugt ein leeres PDF
Was mache ich falsch?
Bist du sicher, dass er dir A4 erstellt? Oder zeigt dies nur der AR so an?
Bind mal das File in LaTeX ein.
MfG Bischi
Es sind zweierlei Paar Schuh - aus dem ascii/dot-file eine Graphik (sei's raster oder vector) zu erstellen und der Kompilierungsprozess mit ps2pdf resp. pdflatex.
Das graphviz-Beispiel
###
### net graphviz file :: from ascii to raster or vector graphics
### digraph modus
###
digraph netzwerk {
a -> {b c d e f};
b -> d;
c -> d;
a [shape=box, color=blue, label="myNetwerk"];
b [color=red, label="Mafo"];
c [color=red, label="Partner"];
d [color=red, label="Clients"];
e [color=darkgreen, label="OAP"];
f [color=darkgreen, label="IT"];
}
transformierst du z.B. mit folgenden Sequenzen:
$ dot -o net.dot net somit ascii -> dot
$ dot net.dot -Tps -o net.eps somit dot -> eps
$ epstopdf net.eps somit eps -> pdf
($ convert net.eps net.png somit eps -> png)
Die generierten EPS- resp. PDF Graphiken haben die 'richtige BoundingBox', so dass du
$ latex foo && dvips -Ppdf -G0 foo.dvi && ps2pdf foo.ps mit der Graphik 'net.eps' bzw.
$ pdflatex foo mit der Graphik 'net.pdf'
kompilieren kannst.
edico
Habe folgendes ausgetüftelt:
C:\>dot -Tpng net.dot -o net.png
C:\>identify net.png
net.png PNG 443x251 443x251+0+0 DirectClass 8-bit 3.41797kb
C:\>dot -Tps net.dot -o net.eps
C:\>convert net.eps net.png
C:\>identify net.png
net.png PNG 332x188 332x188+0+0 DirectClass 8-bit 7.69531kb 0.031u 0:01
C:\>dot -Tps net.dot -o net.eps
C:\>convert net.eps net.pdf
C:\>identify net.pdf
net.pdf PDF 612x792 612x792+0+0 DirectClass 8-bit 1.38684mb 0.078u 0:01
Mein Problem sind wohl diese Größenunterschiede. Wie kommt es zu diesen bzw. wo muß ich ansetzen?
System:
Windows XP SP2
Imagemagick-Static: 6.2.9-Q16
Graphivz-dot 2.8
Ghostscript 8.54
Ich blicke nicht durch, was dein Problem ist. In deinem Startposting hast du geschrieben, dass du pdftex nimmst. Dann ziehe doch die PNG Graphiken heran - was spricht dagegen?
Ausserdem ...
[1] Warum generierst du PNG via EPS und nicht direkt aus DOT?
[2] Wenn du PDF brauchst, nimm mal nicht convert (wie ist denn deine BBox),
sondern transformiere
[a] entweder direkt ' gs -sDEVICE=pdfwrite -dEPSCrop -sOutputFile=net.pdf net.eps'
[b] oder 'epstopdf net.eps' (wie schon gesagt).
Wenn sich deine Daten auf mein Beispiel beziehen, dann habe ich:
$ identify net.eps
net.eps PS 336x198 DirectClass 8-bit 194kb 0.0u 0:01
BBox 35 35 371 233
$ identify net.png
net.png PNG 336x198 DirectClass 8-bit 7351b 0.0u 0:01
336 x 198
$ identify net.pdf
net.pdf PDF 612x792 DirectClass 8-bit 1420kb 0.0u 0:01
BBox 36 36 371 233
edico
Auf meinem privaten Linux-Rechner funktioniert es wie gewünscht. Der Windows-Rechner in der Firma macht es anders....
Wohl ein Setup-Problem - mal sehen.
Trotzdem Danke für die Hilfe - hat mir auf jedenfall schon weitergeholfen.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.