Anzeige:
Ergebnis 1 bis 4 von 4

Thema: \psfrag und eps

  1. #1
    Registrierter Benutzer
    Registriert seit
    13.08.2005
    Beiträge
    13

    \psfrag und eps

    Hallo liebe mrunixer,

    ich habe mal wieder ein Problem mit dem guten alten psfrag. Es funktioniert manchmal ein anderes mal wieder nicht.
    Spezieller:

    Ich ersetze mit folgendem Code den Text in einer figure:
    Code:
    \begin{figure}[hbtp]
    	\psfrag{yref}{$y_{ref}$}
    	\psfrag{y}{$y$}
    	\psfrag{e}{$e$}
    	\psfrag{xhat}{$\hat{x}$}
    	\psfrag{uref}{$u_{ref}$}
    	\psfrag{xref}{$x_{ref}$}
    	\includegraphics[width=12cm]{./fig/images/scheme_feedforwardtracking2.eps}
    	\caption{Tracking controller}
    	\label{fig:tracking_opportunities}
    \end{figure}
    Das Ergebnis ist verwirrend die einzelnen Buchstaben werden ersetzt eine Zeichenkette jedoch nicht. Soll heißen y wird ersetzt mit $y$. yref wird nicht mit $y_{ref}$ ersetzt.
    Öffne ich das Eps mit einem Editor bekomme ich

    Code:
    %%IncludeResource: font TimesNewRomanPSMT
    /PRNFWM+TimesNewRomanPSMT*1 
    [45{/.notdef}rp /hyphen 51{/.notdef}rp /a 3{/.notdef}rp /e /f 11{/.notdef}rp 
    /r 2{/.notdef}rp /u 3{/.notdef}rp /y 101{/.notdef}rp /germandbls 28{/.notdef}rp 
    /udieresis 3{/.notdef}rp]
    PRNFWM+TimesNewRomanPSMT nf
    PRNFWM+TimesNewRomanPSMT*1 [18 0 0 -18 0 0 ]msf
    15.3418 124.3 mo
    (yref)
    [9 5.99414 7.98926 0 ]xsh
    236.009 121.633 mo
    (e)sh
    566.009 125.633 mo
    (\374\337\374)
    [9 9 0 ]xsh
    480.009 14.9668 mo
    (uref)
    [9 5.99414 7.98926 0 ]xsh
    804.009 124.967 mo
    (y)sh
    96.6753 203.633 mo
    (a)sh
    wenn ich nach yref suche. Alle nicht ersetzten Zeichenketten sind in dem eps enthalten. Es liegt also meines Erachtens nicht an einem Problem des Eps! Oder ist es ein illustrator Cs3 Problem. Die Grafik wurde mit AI3 erstellt und als EPS AI3 abgespeichert.

    Kann mir hier jemand weiterhelfen. Ich bin für jeden Tipp dankbar solange nutze ich a-z.

    Vielen Dank und viele Grüße

    fabsch

    PS: Ich habe eine andere Grafik mit CS2 kreiiert. Bei dieser hatte ich zuerst auch Probleme, dann hat es aber funktioniert und im aktuellen Zustand ersetze ich in diesem Bild komplette Zeichenketten. Also kann es irgendwie auch nicht an den eingebundenen Paketen liegen. Ich verstehe die Welt nicht mehr....

  2. #2
    Registrierter Benutzer
    Registriert seit
    13.01.2005
    Beiträge
    176
    Hallo,

    hatte ich auch schon. Lösche mal die gekennzeichneten Stellen.

    Code:
    %%IncludeResource: font TimesNewRomanPSMT
    /PRNFWM+TimesNewRomanPSMT*1 
    [45{/.notdef}rp /hyphen 51{/.notdef}rp /a 3{/.notdef}rp /e /f 11{/.notdef}rp 
    /r 2{/.notdef}rp /u 3{/.notdef}rp /y 101{/.notdef}rp /germandbls 28{/.notdef}rp 
    /udieresis 3{/.notdef}rp]
    PRNFWM+TimesNewRomanPSMT nf
    PRNFWM+TimesNewRomanPSMT*1 [18 0 0 -18 0 0 ]msf
    15.3418 124.3 mo
    (yref)
    [9 5.99414 7.98926 0 ]xsh
    236.009 121.633 mo
    (e)sh
    566.009 125.633 mo
    (\374\337\374)
    [9 9 0 ]xsh
    480.009 14.9668 mo
    (uref)
    [9 5.99414 7.98926 0 ]xsh
    804.009 124.967 mo
    (y)sh
    96.6753 203.633 mo
    (a)sh
    Ich hatte auch mal ein Matalb-Skript geschrieben. Nur die Einstellungen zu Beginn müsstest du anpassen.

    graphicsextension='eps';
    findstring_end=']xS';
    findstring_start=')[';
    replacestring=')S';

    d=dir;

    for j=1:length(d),

    dotidx=findstr(d(j).name,'.');
    extension=d(j).name(dotidx+1:end);

    if ~strcmp(extension,graphicsextension),
    continue; %keine gesuchte Datei -> Schleife fortsetzen
    end

    epsinput_name=d(j).name;
    epsoutput_name=[d(j).name(1:dotidx-1),'edit',d(j).name(dotidx:end)];

    file = textread(epsinput_name,'%s','delimiter','\n');
    fid = fopen(epsoutput_name,'w');

    z=0;
    for i=1:length(file),

    idx2=findstr(file{i},findstring_end);

    if ~isempty(idx2),
    idx1=findstr(file{i},findstring_start);
    text1=file{i}(1:idx1-1);
    text2=file{i}(idx2+length(findstring_end):end);

    file{i}=[text1 replacestring text2];
    z=z+1;
    end

    fprintf(fid,'%s\n',file{i});
    end

    fclose(fid);

    if z==0,
    delete(epsoutput_name)
    end

    disp([num2str(z),' Ersetzung(en) vorgenommen.'])
    end
    Gruß,
    'Stefan
    Geändert von Gonse (22-08-2007 um 19:05 Uhr)

  3. #3
    Registrierter Benutzer
    Registriert seit
    13.08.2005
    Beiträge
    13
    Hi Stefan,

    vielen Dank für deinen Input. Mit dem Löschen dieser Elemente funktioniert es.
    Interessant. Hast du herausgefunden ob es sich um ein Illustrator Problem handelt? Oder woher das Problem generell kommt?

    Vielen Dank noch einmal und viele Grüße

    fabsch

    IMPORTANT EDIT EDIT EDIT:
    Aufgrund einer Verwechslung dachte ich dass das Problem behoben sei. Jedoch zeigt mir Latex nur eine leere Figure. Illustrator öffnet das Eps nicht mehr, ich scheine durch das löschen die Struktur zerstört zu haben.
    Geändert von fabsch (22-08-2007 um 23:32 Uhr)

  4. #4
    Registrierter Benutzer
    Registriert seit
    02.01.2008
    Beiträge
    8
    Hallo zusammen,

    @fabsch: konntest du das Problem irgendwie lösen?
    Ich habe genau das selbe Problem, ich kann eine einzeichen Lange Zeichenkette ersetzen, aber keinen String... Ich benutze Illustrator CS3.

    Unfortunately, some drawing packages display text by sending each character individually to a show command. In other words, if you use the drawing tool to put the string “test” in your figure, it will do something like this:
    (t) show (e) show (s) show (t) show
    Quelle: http://www.tug.org/teTeX/tetex-texmf...ag/pfgguide.ps

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •