Seite 1 von 3

bounding box für pspicture Umgebung

Verfasst: Do 14. Apr 2011, 10:43
von Klaus
Hi Leute,

ich versuche gerade aus meiner Graphik eine eps-Datei zu erstellen:
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{times}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{pstricks}
\usepackage{pst-plot}
\usepackage{pstricks-add}
\usepackage{pst-eps}
\usepackage{upgreek}
%
\pagestyle{empty}
%
\begin{document}
%
\begin{TeXtoEPS}
%
\begin{pspicture}(0,0)(17cm,9cm)
\psframe(0,0)(17cm,9cm)
%
 \rput[bl](2,1.45){%
	\psset{xunit=0.20cm,yunit=60cm}
	\rput[c](12.5,0){%
	\psplot[linecolor=black!50,linewidth=0.6pt,linestyle=solid]{-12.5}{12.5}{%
	/sigma 4.247 def
	/e 2.718282 def
	/C 1 sigma div 6.2831 sqrt div def
	e x dup mul 2 div sigma dup mul div neg exp C mul}
	}}
%
\rput[lb](2,1.5){%
\psset{xAxisLabel={time [fs]},xAxisLabelPos={7cm,-1cm},yAxisLabel={free electron number},yAxisLabelPos={-1.5cm,3.5cm}}
\begin{psgraph}[Dx=10,Dy=1000]{->}(0,0)(60,6000){14cm}{7cm}


\end{psgraph}
}
% curve description

  \rput[l](12.1,6){\small{total number}}
  \rput[l](12.1,5.1){\small{impact ionization}}
  \rput[l](12.1,2){\small{photo ionization}}
\end{pspicture}
%
\end{TeXtoEPS}
Anschließend verwandle ich die dvi Datei mittels dem Befehl:
dvips free-electron-number.dvi -E -o free-electron-number.eps
in eine eps Datei, wie es in dem Buch PSTricks steht.

Das ganze funktioniert im Prinzip auch, nur hat die eps-Datei links und unten noch einiges an weißen Stellen, siehe Anhang.

Wieso wird das nicht abgeschnitten?

Gruß,
Klaus.

Re: bounding box für pspicture Umgebung

Verfasst: Do 14. Apr 2011, 11:27
von CrazyHorse
Klaus hat geschrieben: Das ganze funktioniert im Prinzip auch, nur hat die eps-Datei links und unten noch einiges an weißen Stellen, siehe Anhang.
Warum verwendest du permanent diese Uralt-Methode?

Lass das folgende mit latex->dvips->ps2pdf laufen und du hast eine pdf ohne Rand.
\documentclass[a4paper]{standalone}
\usepackage{pstricks-add}
\usepackage{upgreek}
\pagestyle{empty}
\begin{document}

\begin{pspicture}(0,0)(17cm,9cm)
\psframe(0,0)(17cm,9cm)
 \rput[bl](2,1.45){%
   \psset{xunit=0.20cm,yunit=60cm}
   \rput[c](12.5,0){%
   \psplot[linecolor=black!50,linewidth=0.6pt,linestyle=solid]{-12.5}{12.5}{%
   /sigma 4.247 def
   /e 2.718282 def
   /C 1 sigma div 6.2831 sqrt div def
   e x dup mul 2 div sigma dup mul div neg exp C mul}
   }}
%
\rput[lb](2,1.5){%
\psset{xAxisLabel={time [fs]},xAxisLabelPos={7cm,-1cm},yAxisLabel={free electron number},yAxisLabelPos={-1.5cm,3.5cm}}
\begin{psgraph}[Dx=10,Dy=1000]{->}(0,0)(60,6000){14cm}{7cm}
\end{psgraph}
}
% curve description

  \rput[l](12.1,6){\small{total number}}
  \rput[l](12.1,5.1){\small{impact ionization}}
  \rput[l](12.1,2){\small{photo ionization}}
\end{pspicture}
\end{document}
 
Herbert

Re: bounding box für pspicture Umgebung

Verfasst: Do 14. Apr 2011, 11:40
von Klaus
CrazyHorse hat geschrieben: Warum verwendest du permanent diese Uralt-Methode?
Weil ich es gerne als eps-Datei vorliegen hätte, um es irgendwo wieder einbinden zu können. Denn sobald ich PSTricks verwende muss ich doch zunächst in eine ps-Datei kompilieren und dazu müssen Bilder doch als eps-Dateien vorliegen.

Gruß,
Klaus.

Re: bounding box für pspicture Umgebung

Verfasst: Do 14. Apr 2011, 11:55
von CrazyHorse
Klaus hat geschrieben:
CrazyHorse hat geschrieben: Warum verwendest du permanent diese Uralt-Methode?
Weil ich es gerne als eps-Datei vorliegen hätte, um es irgendwo wieder einbinden zu können. Denn sobald ich PSTricks verwende muss ich doch zunächst in eine ps-Datei kompilieren und dazu müssen Bilder doch als eps-Dateien vorliegen.
Wozu denn? Dann kannst du ja auch den Code nehmen. Ich erstelle nur pdf-Dateien, entweder mit dem auto-pst-pdf oder mit xelatex, da kümmere ich mich doch nicht um diesen Aufstand mit Erstellen einer eps-Datei.

Diese hat übrigens genau den Rand, wie du ihn durch die pspicture-Umgebung angegeben hast.

Herbert

Re: bounding box für pspicture Umgebung

Verfasst: Do 14. Apr 2011, 12:44
von Klaus
CrazyHorse hat geschrieben: Wozu denn? Dann kannst du ja auch den Code nehmen.
Das ging bisher nicht, weil ich meine ganzen Daten eingebunden hatte, siehe diesen Thread.
Wenn ich jetzt alle meine Graphen in einer Datei kompiliere, dann bekomme ich wegen der riesen Menge einen 'exceed memory' Fehler. Ich hatte dabei schon angefangen, die Daten aufzuteilen, wie hier diskutiert, doch das stößt langsam alles an eine Grenze.
Langsam kommt scheinbar durch, dass es mehr ein Flickenteppich ist.

Ganz klar muss ich mir überlegen, wie ich es in Zukunft mache, wenn der ganze Stress sich wieder legt. Doch momentan habe ich leider keine Zeit, um grundlegende Strukturen zu ändern.

Gruß,
Klaus.

Re: bounding box für pspicture Umgebung

Verfasst: Do 14. Apr 2011, 13:27
von CrazyHorse
Klaus hat geschrieben: Das ging bisher nicht, weil ich meine ganzen Daten eingebunden hatte, siehe diesen Thread.
Wenn ich jetzt alle meine Graphen in einer Datei kompiliere, dann bekomme ich wegen der riesen Menge einen 'exceed memory' Fehler. Ich hatte dabei schon angefangen, die Daten aufzuteilen, wie hier diskutiert, doch das stößt langsam alles an eine Grenze.
Langsam kommt scheinbar durch, dass es mehr ein Flickenteppich ist.

Ganz klar muss ich mir überlegen, wie ich es in Zukunft mache, wenn der ganze Stress sich wieder legt. Doch momentan habe ich leider keine Zeit, um grundlegende Strukturen zu ändern.
Was ist denn daran grundlegend, wenn du lediglich das Paket auto-pst-pdf verwenden sollst, oder alternativ die Dokumentenklasse "standalone", damit du deine Abbildungen erhältst.

Herbert

Verfasst: Do 14. Apr 2011, 15:25
von Klaus
Okay, okay.

Also ich habe mal folgendes gemacht:
\documentclass[a4paper]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{times}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{pstricks}
\usepackage{pst-plot}
\usepackage{pstricks-add}
\usepackage{pst-eps}
\usepackage{upgreek}
% \usepackage{standalone}
%
\pagestyle{empty}
%
\begin{document}
%
% \begin{TeXtoEPS}
%
\begin{pspicture}(0,0)(17cm,9cm)
\psframe(0,0)(17cm,9cm)
%
 \rput[bl](2,1.45){%
	\psset{xunit=0.20cm,yunit=60cm}
	\rput[c](12.5,0){%
	\psplot[linecolor=black!50,linewidth=0.6pt,linestyle=solid]{-12.5}{12.5}{%
	/sigma 4.247 def
	/e 2.718282 def
	/C 1 sigma div 6.2831 sqrt div def
	e x dup mul 2 div sigma dup mul div neg exp C mul}
	}}
%
\rput[lb](2,1.5){%
\psset{xAxisLabel={time [fs]},xAxisLabelPos={7cm,-1cm},yAxisLabel={free electron number},yAxisLabelPos={-1.5cm,3.5cm}}
\begin{psgraph}[Dx=10,Dy=1000]{->}(0,0)(60,6000){14cm}{7cm}

\end{psgraph}
}
% curve description

  \rput[l](12.1,6){\small{total number}}
  \rput[l](12.1,5.1){\small{impact ionization}}
  \rput[l](12.1,2){\small{photo ionization}}
\end{pspicture}
%
% \end{TeXtoEPS}
%
\end{document}
Und dann sieht die pdf-Datei auch super aus (siehe Anhang), aber wenn ich die dvi-Datei wieder in eps konvertiere mittels
dvips free-electron-number.dvi -E -o free-electron-number.eps
dann wird es eher schlimmer, sie Anhang.

Ich habe jetzt oben bewußt das
\begin{TEXtoEPS}
 % pspicture...
\end{TEXtoEPS}
auskommentiert. Denn wenn ich es hineinnehme, dann sieht selbst die pdf-Datei furchtbar aus. :shock:

Gruß,
Klaus.

Verfasst: Do 14. Apr 2011, 15:37
von CrazyHorse
Klaus hat geschrieben:
Also ich habe mal folgendes gemacht:
Wenn du schon die PDF hast, dann kannst du auch daraus die eps erstellen. Ein Skript hängt an. Aufruf mit "pdf2eps 1 datei"
Dann wird die erste Seite der Datei nach datei.eps konvertiert.
voss@shania:~/bin> cat pdf2eps
#!/bin/sh
# $Id: pdf2eps,v 0.01 2005/10/28 00:55:46 Herbert Voss Exp $
# Convert PDF to encapsulated PostScript.
# usage:
# pdf2eps <picture number> <pdf file without ext>

pdfcrop $2.pdf
pdftops -f $1 -l $1 -eps "$2-crop.pdf" 
rm  "$2-crop.pdf"
mv  "$2-crop.eps" $2.eps


Herbert

Verfasst: Do 14. Apr 2011, 15:41
von Klaus
CrazyHorse hat geschrieben: Wenn du schon die PDF hast, dann kannst du auch daraus die eps erstellen. Ein Skript hängt an. Aufruf mit "pdf2eps 1 datei"
Dann wird die erste Seite der Datei nach datei.eps konvertiert.
Erstmal riesen Dank!

Aber jetzt meine naive Frage: Was ist daran anders als an dem Converter von Linux?

Also ich kann da ja auch einfach in die Kommandozeile eingeben
convert <file.pdf> <file.eps>
Allerdings geht dann die Auflösung dern 'Bach hinunter'. :-(

Viele Grüße,
Klaus.

Verfasst: Do 14. Apr 2011, 15:46
von Klaus
Klaus hat geschrieben: Erstmal riesen Dank!
EINEN RIESEN DANK!!

Hab es eben ausprobier! Das funktionniert ja herrlich! :shock: :shock:

Krass.

Danke...

Hut zieh'

Kniefall...