PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MatLab - eps - psfrag --> geht nicht



oSie
09-01-2007, 16:21
Hallo Leute,

ich weiß, es tut nichts zur Sache aber ich bin extrem angenervt.

Okay, ich erstelle also mit MatLab 6.1 ein .fig und daraus kann ich eps files exportieren. (Diese kann ich schonmal nicht direkt in mein tex-Dokument einbinden da die einfach nicht angezeigt werden.)
Danach benutze ich also Photoshop CS 2 zum Konvertieren in ein eps (welches dann auch funktioniert aber richtig groß ist und etwas pixelig wirkt).

Nun habe ich mit MatLab also Achsenbeschriftungen (001 und 002 als Platzhalter) reingeschrieben und wollte diese nun mit psfrag durch Formeln ersetzen. psfrag weigert sich aber strikt, diese zu ersetzen da es den Text scheinbar nicht erkennt.

Meine Frage bezieht sich nun eher auf die Art und Weise wie ihr eure eps files generiert, bzw. anpasst. eps2eps generiert bei mir nur leere Dateien und ich blicke da nicht durch.

Die Matlab-eps' sind 15kb groß (da fehlt vielleicht die Bounding Box?) und die Photoshop eps' sind 4MB groß. Ich dreh mich langsam im Kreis und als Hilfen finde ich immer das gleiche und überall geht psfrag einwandfrei bzw. wurden richtige eps generiert.

Gibt es irgendwelche typischen Anfängerfehler die man so kennt?

Bisher habe ich ja in pdflatex geschrieben, da mein Prof. nun aber psfrag zur Achsenbeschriftung sehen will, bin ich wohl auf die DVI-Schnittstelle angewiesen.

Hoffentlich fällt einem von euch was cooles ein...mir läuft langsam aber sicher die Zeit davon. :(

Grüße,
oSie

localghost
09-01-2007, 16:46
Ich habe in einem anderen Thema mal die ersten Zeilen einer EPS-Datei aufgelistet. Schau mal nach, ob diese Zeilen auch in den Matlab-Exporten zu finden sind. Vielleicht ist eine fehlende Bounding Box ja die Erklärung. Zur Not dann von Hand anpassen.

Zur Verwendung von psfrag habe ich einen Tipp. Beschrifte die Achsen in Matlab mit einer eindeutigen Zeichenkette (und merke dir diese). Also etwa "xachse" oder "yachse". psfrag tut sich dann leichter beim Aufspüren dieser Zeichenkette innerhalb der EPS-Datei und kann sie dann ersetzen. Daran könnte es bei dir liegen, denn 001 und 002 kommen als Zeichenketten wesentlich häufiger vor.

lupus68
09-01-2007, 17:03
Hallo oSIE,

gibt es in deiner TeX-Distriebution ein Komandozeilen Tool epsfit IMHO bei TeX-Live (tetex glaube auch) ist es dabei dies sollte eigentlich "fehlerhafte" EPS korrigieren.

Imagemagick sollte das eigentlich auch können.

Dann kannst du gleich aus Matlab gehen und mußt nicht den Umweg über PSD gehen.

juergen

Gonse
09-01-2007, 17:25
Was mir dazu einfällt ist, dass wenn nach der Anwendung von Photoshop die Grafiken pixelig wirken und 4MB groß sind, diese dann wahrscheinlich Pixelgrafiken und keine Vektorgrafiken mehr sind.
Das wäre dann wohl auch der Grund weshalb psfrag die Zeichenketten nicht mehr erkennt.

Du hast geschrieben, dass die .eps Dateien nicht angezeigt werden. Wo werden sie nicht angezeigt? dvi? pdf?

Eine Beispielgrafik direkt aus Matlab exportiert könntest du ja mit deinem nächsten Post mal mitschicken.

Gruß,
Stefan

oSie
09-01-2007, 17:36
So, also Photoshop macht mir schonmal den Textpart kaputt. Das stimmt.
Ich hänge mal so ein MatLab-eps an. Vielleicht kann es jemand von euch einbinden. Ich finde die Zeichenkette in diesem eps aber es funktioniert halt nicht im fertigen File. (DVI --> Yap stürzt ab, PS --> gsview meckert, PDF mit WinEdt zeigt kein Bild an (sonst benutze ich lieber TechCenter))

daswaldhorn
09-01-2007, 17:46
Hallo,

herzlich willkommen hier an Board :)


Okay, ich erstelle also mit MatLab 6.1 ein .fig und daraus kann ich eps files exportieren.Also du machst erst eine MATLAB-fig-Datei und daraus dann wiederum ein *.EPS? Wie gehst du da vor? Du kannst auch direkt EPS erzeugen, ich hab' das immer so gemacht:
clear all;
x=1:1:10;
y=x.^2;
bild1=figure;
plot(y);
title('Titel Matlab Bild');
xlabel('X-Beschriftung');
saveas(bild1,'Matlabbild.eps');Gut, ich hab jetzt kein MATLAB 6.1 zur Verfügung, leider nur ein 7.2. Hoffentlich kann die 6.1 schon direkt EPS exportieren, sonst... mmmh.
Öffne die EPS mal im normalen Text-Editor und kontrolliere, ob deine Platzhaltertexte auch so direkt auftauchen. Dann klappt es auch mit psfrag.
(Diese kann ich schonmal nicht direkt in mein tex-Dokument einbinden da die einfach nicht angezeigt werden.)Da du ja mit pdflatex arbeitest, kannst du keine EPS verarbeiten, sondern nur PDF, JPG und PNG.
An dieser Stelle kann ich dir fragmaster.pl (http://tug.ctan.org/pkg/fragmaster) wärmstens empfehlen, damit kannst du in EPS Dateien Ersetzungen mit psfrag machen und erhälst am Ende dein neues Bild mit den Ersetzungen als EPS und PDF. Das PDF kannst du dann ganz normal mit pdflatex verwenden.

Grüße, Carsten


Also in deinem Beispielbild sind die Zeichenkette wie erhofft enthalten, fein. Also solltest du mit fragmaster.pl keine Probleme bekommen.

Gonse
09-01-2007, 17:51
Bei mir funktioniert es!

Hier der Code:


\documentclass[10pt,a4paper]{scrartcl}
\usepackage{graphicx}

\begin{document}
\includegraphics[scale=.6]{m.eps}
\end{document}

und das Ergebnis (ein Bode-Diagramm?):

Kompiliert per latex->dvips->ps2pdf.

Gruß,
Stefan

localghost
09-01-2007, 18:04
Also, bei mir funktioniert alles ohne jegliche Fehler. Das Bild wird korrekt angezeigt, sowohl im Dokument als auch separat in GSview. Die Zeichenketten "xAchse" und "yAchse" lassen sich mit psfrag ohne weiteres austauschen. Auch durch mathematische Ausdrücke. Die Bounding Box ist aus meiner Sicht auch in Ordnung. Somit kann ich die Fehler nicht reproduzieren.

\begin{figure}[!ht]
\centering
\psfrag{xAchse}{$x^{10}$} \psfrag{yAchse}{$y^{-10}$}
\includegraphics[width=0.8\textwidth]{C0550-s11-matlab}
\caption{C0550-s11-matlab}
\end{figure}

oSie
09-01-2007, 18:05
Oh Mann...Gonse.

Ich benutze ja bisher MikTex und dort stimmen meine ps-settings irgendwie nicht. Nun habe ich das ganze mit WinEdt latex -> ps -> pdf und schwubs klappt es auch mit dem psfrag.

Ich bedanke mich recht herzlich. Nun kann ich auch die Matlabfiles nehmen ohne großartig mit Fremdprogrammen rumzueiern.

Dann schreibe ich halt in MikTex und compiliere dann in WinEdt. Die Oberfläche von MikTex ist mir einfach lieber.

Danke nochmal. :)

Ach und Waldhorn, danke aber ich schrieb ja dass ich bisher mit pdflatex rumgemacht habe. Dort habe ich alle eps in pdf umgewandelt. psfrag konnte ich somit nicht nutzen. Ich werde deinen Tipp mit dem fragmaster aber mal unter die Lupe nehmen. Klingt sehr interessant.

Gonse
09-01-2007, 18:13
Welche Oberfläche von Miktex. Na egal. ;)

Viel Erfolg,
Stefan

oSie
09-01-2007, 18:17
Welche Oberfläche von Miktex. Na egal. ;)

Viel Erfolg,
Stefan

TeXnicCenter dann!?
Nun sei mal nicht so kleinlich...:p

lupus68
09-01-2007, 18:19
Hallo oSIE,

dein eps läuft bei mir im folgenden Beispiel durch als LaTeX, nicht als "pdflatex"



\documentclass[a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{caption2}
\usepackage[T1]{fontenc}
% \usepackage[dvips,pdftex]{graphicx}%geht nicht
\usepackage[dvips]{graphicx} %geht


\begin{document}
\begin{figure}[htp]
\centering
\includegraphics[height=5cm,width=\linewidth,keepaspectratio]{matlab}%EPS umbenannt
\caption{matlab}
\end{figure}
\begin{figure}[htp]
\centering
\includegraphics[height=5cm,width=\linewidth,keepaspectratio]{matlab3}%EPS umbenannt epstool behandelt
\caption{matlab3}
\end{figure}
\end{document}

epstool zur bbox Korrektur aufgerufen mit:

epstool --copy --bbox matlab1.eps matlab3.eps

Wenn du ohnehin PDF als LaTeX output willst kannst du das EPS auch mit

epstopdf matlab.eps
gleich in ein PDF verwandeln und dann als solches in dein Dokument einbinden.

juergen

oSie
09-01-2007, 18:20
Danke Jürgen...aber dann habe ich immernoch kein psfrag verwenden können. :)

Gonse
09-01-2007, 18:26
Du musst aber nicht auf Texniccenter verzichten, wenn du es bevorzugst.
Mittels Ausgabe->Ausgabeprofile definieren->Assistent kann man sich ein eigenes Profil definieren.
Bei mir war allerdings latex->ps->pdf schon voreingestellt.

Gruß,
Stefan

oSie
09-01-2007, 18:33
Und nochmal danke...das ganz große Problem war dass ich mein TexnicCenter eingerichtet habe bevor ich das ganze ghostscript-Zeug installiert habe. Nun habe ich den Assistent nochmal aufgerufen und nun habe ich auch das LaTeX => PS => PDF Profil...alles toll nun.

Jetzt schaffe ich die Fertigstellung des beleges wohl doch recht komfortabel im Zeitrahmen.

Thx,
Daniel

lupus68
09-01-2007, 19:06
Danke Jürgen...aber dann habe ich immernoch kein psfrag verwenden können. :)
Sei doch mal nicht so kleinlich ;-)

\documentclass[a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{caption2}
\usepackage[T1]{fontenc}
\usepackage[dvips]{graphicx} %geht
\usepackage{psfrag}

\begin{figure}[htp]
\centering
\psfrag{xAchse}{$x^{10}$}
\psfrag{yAchse}{$y^{-10}$}
\includegraphics[height=5cm,width=\linewidth,keepaspectratio]{matlab}
\caption{matlab3}
\end{figure}
\end{document}

Also das geht bei mir. Null fehler, null Warnungen ... latex -> dvi ->dvips -o -> ps

juergen

oSie
09-01-2007, 19:21
Das war auf das eps in pdf Umwandeln bezogen. :)

localghost
09-01-2007, 23:30
Unter Windows arbeite ich mit MiKTeX 2.5.2559 (zu diesem Zeitpunkt aktuellste Version vom 03.01.2007) und TeXnicCenter 1 Beta 7.01 ("Green Grass").

Unter Linux verrichtet teTeX 3.0 mit aktuellsten Paketen (wie MikTeX) zusammen mit Kile 1.9.3 seine Arbeit.

Beide Systeme arbeiten (in diesem Fall) einwandfrei und bereiten keinerlei Schwierigkeiten.

Gonse
10-01-2007, 06:18
@localghost:
Passt hier nicht recht rein, aber da du es schon mal erwähnst.
Da Tetex nicht weiterentwickelt wird (siehe Homepage) bin ich nach dem Neuaufsetzen gleich zu Texlive gewechsel. Leider gibt es dort keine Informationen zum Updatezyklus und die aktuelle Version ist von 12/05.

Weiss jemand mehr als ich?

Zum zweiten, wie hälst du deine Pakete auf dem aktuellen Stand? Da es meines Wissens kein Programm ala MiktexUpdate gibt, nehme ich mal an du machst das händisch. Richtig?

Gruß,
Stefan

lupus68
10-01-2007, 15:34
Hallo Gonse,

ich arbeite schon länger mit dem TeX-Live ja und zur Zeit mit 2005. Eigentlich sollte die 2006, nach Fahrplan wohl Anfang Dez erscheinen :-(
Bis jetzt mußt ich nur 3-4 Pakete manuell aktualisieren oder nachinstalieren.

Es existiert zumindestens unter Ubuntu und damit sicherlich auch unter Debian ein "MikTeX-Updat-Mananger" ich habe schon in mehreren foren davon gelesen. Benutzen tue ich es nicht. Kannst ja mal die Suche inner und außerhalb des Forums anwerfen.

juergen

localghost
10-01-2007, 15:42
Da muss man nicht lange suchen. Die MiKTeX Tools gibt es auf der Homepage von MiKTeX (http://miktex.org).