PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Böses Psfrag



katinka
28-08-2004, 23:27
Kann mir jemand einen Hinweis auf eine richtig ausführliche Dokumentation zu psfrag geben. Ich habe die normale Paketbeschreibung vorwärts, rückwarts und mehrfach seitwärt gelesen, aber irgendwie läuft es nicht.

Erst gab's immer eine Buffer ist zu klein Meldung, wenn ich auf \tex{} hab scannen lassen. Das lag daran, dass die eps-files teilweise aus einer einzigen Zeile bestanden. Da hat ein kleines Skript geholfen.

Das dvi-file sieht auch recht prima aus. Die Abbildung hat Gnubbel da wo die Ersetzung hinsoll und am Rand steht die Psfrag-replacements-Spalte. Aber dann die ps-datei: Immer noch die gleichen Gnubbel.

Was tun? Wo erkundigen? Oder weiß vielleicht jemand direkt Rat?

edico
29-08-2004, 11:36
Ich kenn psfrag nicht genug; aber es ist ja wirklich nicht so viel zu finden ...
kennst du denn diese Links:
http://www.uni-koblenz.de/~daschi/material/psfrag_folien.pdf
http://www.math.uni-hamburg.de/home/ammann/tex/tetex/doc/latex/GUIDE/pfgguide.ps
oder evtl. auch diese Seite - statt TeX mit pdfTeX:
http://www.tat.physik.uni-tuebingen.de/~vogel/fragmaster/main.html
...
eine Abbildung mit Gnubbel - herrlich! - aber was konkret stell ich mir darunter bei welchem Beispiel denn wohl vor? Und warum soll der Gnubbel bei PostScript verschwunden sein, wenn er bei DVI da ist?
Die Buffermeldung scheint mir eine Info, denn ein akute Fehlermeldung zu sein - oder?
edico

katinka
04-09-2004, 23:11
Die Links waren inhaltlich leider keine bißchen neu...

Ich versuch mein Problemchen nochmal etwas genauer zu umreißen:

Es gibt per psfrag ja zwei Möglichkeiten:
1) Das Dokument auf TeX-Befehle scannen
2) Bestimmte Worte suchen und diese durch TeX-Zeichen zu ersetzen.

Ich will nur eine von beiden zum laufen bringen. Welche ist mir egal. Ich baue also ein Bild. Ungefähr so:

##########
###sigma##
##########
##########

oder aber:

################
##\tex{$\sigma$}##
###############
###############

Dann kann ich im ersten Fall:


\begin{figure}
\psfrag{sigma}{$\sigma$}
\includegraphics{bild}
\end{figure}

oder aber im zweiten Fall:


\begin{figure}
\psfragscanon
\includegraphics{bild}
\psfragscanoff
\end{figure}

Der gewünschte Effekt ist denke ich klar, statt einem ausgeschriebenen sigma habe ich das passende Zeichen in der Graphik. Es funktioniert leider keiner der beiden Ansätze.

In der dvi-ansicht und auch mit dem ps-betrachter sieht es so aus, als ob alle buchstaben übereinandergeschoben wären. also das s und das i und das g und das m und das a alle auf einem Platz. Ich vermute jedenfalls das als Ursache des sogenannten Gnubbels.

Das ist aber noch nicht alles. Wenn ich die ps-Datei dann drucke, steht in dem Bild einfach normal sigma. Kein Gnubbel mehr.

edico
05-09-2004, 19:19
So ... ich hab jetzt was für dich, mach keine grossen Sprüche, sondern verweise auf die Quelle, die dir - ohne dass ich mich jetzt mit Einzelheiten auseinander gesetzt habe - das Paket an einem schönen Beispiel verdeutlicht. Bei mir läuft es ... Schau mal.
Von dieser Seite http://www.usq.edu.au/users/leis/notes/latex/psfrag.html saugst du dir psfdemo.tex und matlab.eps; du siehst sehr schön die Substitutionen und Ergebnisse von dvi, ps und pdf.
Ich hoffe, du hast Erfolg. edico

katinka
05-09-2004, 23:10
Als aller erstes: Ganz furchtbar vielen Dank für die Mühe. Solche Leute wie Du sind der Grund warum ich noch nicht das Handtuch geworfen hab! Danke! DANKE!

Jetzt der eigentliche Teil: Das mal eine schöne Seite. Ich hab mich also an dem Beispiel probiert.
Gleiches Problem, allerdings ohne die berühmten Gnubbel. In der dvi-Ansicht werden alle replacements gelistet. Nach
dvips datei.dvi sieht die Grafik allerdings aus wie vorher. Also ohne replacements. Immerhin tauchen in der dvi keine Gnubbel auf :confused:


Select "Start-Programs-MiKTeX-MiKTeX Options" and press "Refresh Now" to update the filename database.

Das könnte natürlich ein Hinweis sein, etwas, dass ich noch nicht getan hab. Wie ich das in Linux (Woody) ausführen soll ist mir allerdings unklar. :eek:

Hast Du das Beispiel tatsächlich gegenlaufen lassen? Und es funzt? Kannst Du mal die dvips Meldung mit meiner vergleichen? Fehlt da vielleicht was, dass ein Hinweis sein könnte?

LaTeX-Durchlauf:

This is TeX, Version 3.14159 (Web2C 7.3.7)
(./psfdemo.tex
LaTeX2e <2001/06/01>
Babel <v3.7h> and hyphenation patterns for american, french, german, ngerman, n
ohyphenation, loaded.
(/usr/share/texmf/tex/latex/base/article.cls
Document Class: article 2001/04/21 v1.4e Standard LaTeX document class
(/usr/share/texmf/tex/latex/base/size10.clo))
(/usr/share/texmf/tex/latex/ntgclass/a4.sty)
(/usr/share/texmf/tex/latex/graphics/graphicx.sty
(/usr/share/texmf/tex/latex/graphics/keyval.sty)
(/usr/share/texmf/tex/latex/graphics/graphics.sty
(/usr/share/texmf/tex/latex/graphics/trig.sty)
(/usr/share/texmf/tex/latex/config/graphics.cfg)
(/usr/share/texmf/tex/latex/graphics/dvips.def))) (./psfrag.sty) (./psfdemo.aux
) (./demo.psf _matlab.eps_) [1] [2] (./psfdemo.aux) )
Output written on psfdemo.dvi (2 pages, 3092 bytes).
Transcript written on psfdemo.log.

dvips-Durchlauf:

This is dvips(k) 5.86e Copyright 2001 Radical Eye Software (www. radical.com)
' TeX output 2004.09.05:2359' -> psfdemo.ps
_texc.pro__psfrag.pro__special.pro_. [1] [2_matlab.eps_]

__________________________________________________ __________________

PS: Ich gelobe mich kürzer zu fassen und demnächst immer Seiten als URL anzugeben und nicht zu zitieren. :rolleyes: OK?!

__________________________________________________ _____________________

PS2: Ich musste die geknickten Klammern mal kurzfristig durch _ und _ ersetzen. Die stellt er nicht dar.

edico
06-09-2004, 09:59
Im Demofile hab ich nur a4page auskommentiert, weil ich das nicht geladen habe.

[1]latex: log-output: 111 Zeilen ...
Output written on psfdemo.dvi (2 pages, 3088 bytes).
... das scheint bei dir doch i.O.
Das scheint ok. s.[3]

[2]dvips: This is dvips(k) 5.86f Copyright 2001 Radical Eye Software (www.radicaleye.com)
' TeX output 2004.09.06:1020' -> psfdemo.ps
_texc.pro__psfrag.pro__8r.enc__texps.pro__special. pro_. [1] [2_matlab.eps_]
... bei mir also nur noch ein Hinweis zum Font.

[3]Der dvi-file gibt dir nur die replacements am linken Rand an, ersetzt aber nicht title, label etc. Das ist wohl so richtig.

[4]Dafür ist das Ergebnis in den transformierten PS und PDF excellent (bei mir).

[5]Warum das bei dir nicht läuft, weiss ich im Moment nicht.
:: refresh ... ich kenn MikTeX nicht genügend ... aber:
:: ein Gedanke: hast du mal Pakete nachinstalliert, ohne sie einzubinden?

[6]Katinka - nimm Woody - was weisst du da nicht?
Hast du teTeX drauf?
Dann an der Konsole die bekannten tex-pdftex-Befehle (working-dir) - fertig.
edico

katinka
06-09-2004, 15:30
[6]Katinka - nimm Woody - was weisst du da nicht?
Hast du teTeX drauf?
Dann an der Konsole die bekannten tex-pdftex-Befehle (working-dir) - fertig.
edico

Mmh? Jupp, habe teTeX drauf. Ich habe tatsächlich Pakete nachinstalliert, und bin mir ehrlich gesagt nicht sicher ob ich die alle richtig eingebunden hab. Die meisten benutze ich nicht. psfrag war allerdings mit 100%iger Sicherheit schon von Anfang an im Paket mit drin.

Und die mir angeblich bekannten tex-pdftes-Befehle(working-dir) sind mir weniger bekannt. Solange ein frisch installiertes Paket nicht in nem neuen Verzeichnis erscheint, also sich z.B. in .../misc/ ablegt hat, habe ich gar nix getan. Und wenn's woanders gelandet ist, hab ich das entsprechende Verzeichnis in die TEXINPUTS mitreingepackt.

Das reicht nicht? Dann bin ich jetzt ganz wild drauf was Neues zu lernen!

edico
06-09-2004, 16:02
? Kann zu deiner Vorgehensweise wenig sagen, da ich mich mit win32 auch zu wenig auskenne. Aber: Die installierten Pakete müssen auf alle Fälle initialisiert werden. Das passiert - simple gesagt - dadurch, dass sie in eine plain/text-Liste geschrieben werden, damit sie schnell aufzufinden sind. Ganz egal, was du gemacht oder nicht gemacht hast - AFAIK musst du bei win32 »mktexlsr» («texhash»::linux] im Dos-Fenster eingeben. Das ist alles. Dann dürfte zunächst mal dieser refresh now--Hinweis eigentlich nicht mehr auftauchen.Und ich hoffe natürlich (für dich), dass es auch sonst klappt ... Versuch psfrag nochmal.
Das muss doch klappen ... :-) edico
P.S. ich wollte zu schnell fertig werden:
@ woody: Richte ein «working-dir xyz» ein, in das du den tex-file und dazugehörige images und/oder files einfügst. So ... und nun an der Konsole texen, heisst nur: latex foo && latex foo && dvips foo.dvi && ps2pdf foo.ps. Statt des oneline-commands kannst du - solange du nicht so gut damit heimisch fühlst - auch die command-Folge in die Einzelbestandteile «zerreissen», und gibst die commands nacheinander ein (die beiden && sind command-Verknüpfung und heisst: wenn a ok, dann b ausführen ....). Kein Buch mit 7 Siegeln ...

katinka
06-09-2004, 16:32
Warum hab ich das Gefühl wir reden aneinander vorbei?

Mein System: Linux - Debian - Woody mit teTeX drauf.
Nix Window.

Dachte nur, wenn man in Window noch irgendwelche Befehle eingeben muss, muss man das bei Unix oder Linux auch. Aber wenn alle meine Dateien gefunden werden, hab ich anscheinend nix vergessen.

Und was die tex-pdftex-working-dir-Befehle angeht: Kenn ich, nutz ich täglich. Mir war nur nicht klar, dass man das als "tex-pdftex-working-dir-Befehl" bezeichnen könnte. Soviel zum Thema aneinandervorbeiposten. :p

Ich denke ich werde mich jetzt aufgrund der Kürze der Zeit von psfrag verabschieden und erst in der nächsten zu schreibenden Arbeit wieder aufnehmen. Dann heißen meine Spannungen halt s statt sigma. Was solls!

katinka
06-09-2004, 16:35
PS: Und ein riesen Dankeschön für die vielen guten Vorschläge.

Wenn ich irgendwann ein laufendes psfrag habe, werde ich ausführlich berichten. Damit Du nicht umsonst mitgedacht hast. :)

edico
06-09-2004, 16:46
Huu, das nenn ich Kommunikation ;-) Wie konnte ich dich so missverstehen. Aber umsomehr verstehe ich nicht, dass es nicht läuft. Schade. Aber berichte mal, würd mich freuen ...
edico

edico
06-09-2004, 18:00
... und das hat mir doch keine Ruhe gelassen ....
Wie bitte schön kommt denn bei dir die Meldung zustande, die mich dazu veranlasste zu glauben, dass du auf w32 fährst:
«Select "Start-Programs-MiKTeX-MiKTeX Options" and press "Refresh Now" to update the filename database.»
Das passt doch überhaupt nicht zu woody ... oder versteh ich schon wieder was falsch?
edico

katinka
06-09-2004, 18:58
Ich hab Deinen Link zitiert. Vielmehr den Teil der Seite, den ich nicht nachmachen konnte weil ich halt ein anderes Betriebssystem habe...

Comprende?

doomkopf
29-12-2004, 21:41
hi katinka,

hier noch ein link wegen tetex:
http://www.statslab.cam.ac.uk/~eva/psfrag.html

hatte bis grad eben gedacht, ich hätte die gleichen probleme wie du.
bin seit heute benutzer vom psfrag-packet, und stolperte über folgendes:
hatte probleme mit zusammengesetzten strings. es klappte bei mir mit der
ersetzung, nachdem ich die zu ersetzenden strings ganz einfach gehalten
habe, also buchstaben oder zahlen.
dann hat im ps-file alles wunderbar ausgesehen.

KleinesGespenst
30-12-2004, 07:52
Oder nur einen einzigen Buchstaben. Wenn ich ein ordentliches sigma haben moechte, schreibe ich in Bild nur s und im tex-file \psfrag{s}{$\sigma$}.

daswaldhorn
30-12-2004, 15:37
das kann bestimmt auch hilfreich sein...

http://www.tat.physik.uni-tuebingen.de/~vogel/fragmaster/main.html

bei mir klappt das zumindest mit dem Skript ganz gut :)

doomkopf
10-01-2005, 19:44
hier noch eine sache:
bei manchen eps-files hatte ich nur kursive zeichenersetzungen.
mit xfig ging es vernünftig, mit adobe-illustrator nicht.
grund war abspeichern der eps-files in postscript level 2 oder 3.
wenn man in ps level 1 abspeichert, wurden dann auch die strings
in der normalen latex schriftart von psfrag ersetzt.