psfrag + *.eps und *.png Bilder einbinden

Tabellen und Grafiken erstellen und anordnen


FrankTheTank

psfrag + *.eps und *.png Bilder einbinden

Beitrag von FrankTheTank »

Hallo allerseits!

Ich möchte gerne in mein LaTeX Dokument folgende Grafiken einbinden:

*.eps
*.eps (modifiziert mit psfrag)
*.jpg
*.png

Im Moment nutze ich den Texmaker mit folgender Option:
Latex => dvips => ps2pdf

Das funktioniert dann mit *.eps und dem Packet psfrag. Aber er mag keine Bilder im *.jpg oder *.png Format.

Binde ich die *.eps Dateien mithilfe von graphicx und epstopdf Packeten ein und kompiliere mit:
PdfLaTeX
Dann funktioniert psfrag nicht. Es ist zum Haare raufen!

Ich habe auch bereits versucht, meine *.jpg und *.png Dateien in *.eps umzuwandeln (Programme: Corel PhotoPaint, Image Magick). Die haben mir aber aus 2 MB Großen Bildern dann 50 MB große *.eps Dateien gebaut, was nicht praktikabel ist.

Langsam bin ich mit meinem Latein am Ende. Hat jemand vielleicht noch einen Ratschlag für mich?

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Nutze pdflatex, dann aber mit der Option --shell-escape.

Oder nutze XelaTeX.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

FrankTheTank

Beitrag von FrankTheTank »

Hallo!

Ich habe eine Lösung gefunden. Vielleicht hilft sie ja dem ein oder anderen weiter, der auf dieses Thema stößt:

Für die Einbindung von *.png und *.jpg das Packet:
graphicx

Für die Einbindung von unmodifizierten *.eps Dateien:
epstopdf (laut Doku von pstool VOR pstool laden)

Für die Einbindung von durch psfrag modifizierten *.eps Dateien:
psfrag
pstool

Durch pstool erhält man den Befehl \psfragfig (siehe Doku: http://www.ctan.org/pkg/pstool). Diese Version funktioniert bei mir sehr gut.
\begin{figure}[h]
\begin{center}
	\psfragfig[width=0.6\textwidth]{Grafiken/EbeneWelleGrenzflaeche}
	\caption{Grenzfläche zwischen zwei Medien und die dazugehörigen Schallgrößen}
	\label{figEbeneWelleGrenzfl}
\end{center}
\end{figure}
Eine Datei Namens "EbeneWelleGrenzflaeche-psfrag.tex" und den gewünschten psfrag Ersetzungen ins gleiche Verzeichnis wie die Grafik:
	\psfrag{medium1}[c][c]{Medium 1}
	\psfrag{medium2}[c][c]{Medium 2}
	\psfrag{z1}[c][c]{$c_{1}$,$\rho_{1}$}
	\psfrag{z2}[c][c]{$c_{2}$,$\rho_{2}$}
	\psfrag{ewav}[c][c]{einfallende Welle}
	\psfrag{twav}[c][c]{transmittierte Welle}
	\psfrag{rwav}[c][c]{reflektierte Welle}
	\psfrag{pe}[c][c]{$p_{e}$}
	\psfrag{pr}[c][c]{$p_{r}$}
	\psfrag{pt}[c][c]{$p_{t}$}
Mit freundlichen Grüßen,
FrankTank

@ Johannes_B: Leider kennt er mit pdflatex auch mit --shell-escape keine *.eps Dateien und XelaTeX bricht mit 100 roten Fehlermeldungen ab.

FrankTheTank

Beitrag von FrankTheTank »

Nachtrag:

Kompilieren einfach per "pdflatex".

dlu

Beitrag von dlu »

Danke für deine Lösung, bis jetzt die einzige die funktioniert.
Gibt es jedoch keine Lösung, die psfrag-Befehle direkt in die Bild-Umgebung einzugeben? Wenn ich das bei mir mache funktioniert es nicht, mit der externen Datei werden die Beschriftungen unbenennt.
Gruss

dlu

Beitrag von dlu »

Hab das soeben rausgekriegt. mit einer zusätzlichen geschweiften Klammer nach dem Befehl:
\psfragfig[<Optionen>]{<Bilddatei>}{\psfrag{<TMP>}{<Neuer Text>}}
jedoch ist jetzt ein neues Problem aufgetaucht: wenn ich den Text ändere der gesetzt werden soll, muss ich zuerst das generierte pdf des Bildes löschen damit es übernommen wird. Kann man das irgendwie ändern?

MaF

funktioniert bei mir nicht

Beitrag von MaF »

Bei mir funktioniert das einbinden mit \psfragfig nicht. Ich sehe die Grafik, allerdings ist sie viel zu groß (und dadurch nur ein Teil davon zu sehen). Außerdem sind die Markierungen nicht durch meine mit \psfrag festgelegten Texte ersetzt. Kann es sein, dass das Package pstool nur mit Matlab und Mathematica erstellten eps-Dateien funktioniert?

Ratgeber

Nicht so weitermachen

Beitrag von Ratgeber »

Fange das Ganze vernünftiger an als FrankTheTank und liefere erst mal was Brauchbares. Sonst musst Du dir die Lösung wie er selbst suchen. Und die hat er auch unbrauchbar weil nur in Form eines so nicht verwertbaren Code-Schnipsels geliefert.

Antworten