Discussion:
pdflatex - Grafiken werden nicht aktualisiert
(zu alt für eine Antwort)
t***@googlemail.com
2006-05-15 09:35:29 UTC
Permalink
Hallo zusammen,

ich arbeite mit pdflatex unter MikTex (Version 2.4.1461) und binde
meine Grafiken (png, pdf) folgendermaßen ein:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure}
\centering
\includegraphics[width=16cm]{/Abb/Beispiel}
\caption{bla}
\label{bla}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Funktioniert prinzipiell auch super. Jetzt zu meinem Problem:

Wenn ich an den Grafiken was ändere (also im Bildbearbeitungsprogramm
z. B. ne Beschriftung hinzu füge) und die Datei einfach speichere
(also die alter Version von Beispiel.png mit der neuen überschreibe)
ist nach einem pdflatex-Durchlauf im ausgegebenen pdf immer noch das
ALTE Bild drin, obwohl es ja eigentlich gar nicht mehr existiert, da
überschrieben wurde....


Was ich selber schon probiert/gecheckt habe:

1) Ich habe SICHER die richtigen Dateien im richtigen Pfad geändert,
unter Windoof, Bildbearbeitungsprogrammen etc. werden sie richtig, also
NEU angezeigt.
2) Alle tex-Temporär-Deteien (aux etc.) gelöscht
3) Windoof temp-Verzeichnisse gelöscht
4) Rechner neu gebootet
5) Die Grafik-Datei ganz gelöscht!!! --> Das bringt komischerweise
nicht mal ne Fehlermeldung beim pdflatex-Durchlauf, normalesweise
dürfte er sie ja dann gar nicht mehr finden...
6) Sowohl die Grafik Datei als auch den Link vom includegraphics
umbenannt in Beispiel1.png und
\includegraphics[width=16cm]{/Abb/Beispiel} --> Das geht, jetzt wird
die richtige NEUE Datei angezeigt - aber ich will ja nicht jedesmal,
wenn ich ne Grafik bearbeite, den Dateinamen ändern.
7) Wenn ich beides wieder zurück-umbenenne, kommt wieder die ALTE, gar
nicht mehr existente Version der Grafik.

Für mich sieht das so aus, als würde er das ALTE Bild noch irgendwo
in irgendeinem Speicher rumhängen haben und sich "denken", OK, das hab
ich doch schonmal konvertiert, mach ich nich' mehr neu, nehm' ich
einfach die alter Version...

Nur, wie kann ich ihm sagen, dass er doch bitte bitte die Grafik
wirklich neu einbinden soll, damit auch die aktuelle VErsion der Grafik
nachher in meinem pdf erscheint???

Bin nach zwei Tagen googeln und rumfragen nun mit meinem Latein am
Ende...

Wäre für Hilfe echt dankbar ;-)

Viele Grüße,
Tanja
Ulrike Fischer
2006-05-15 09:46:34 UTC
Permalink
Post by t***@googlemail.com
Hallo zusammen,
ich arbeite mit pdflatex unter MikTex (Version 2.4.1461) und binde
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure}
\centering
\includegraphics[width=16cm]{/Abb/Beispiel}
\caption{bla}
\label{bla}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Wenn ich an den Grafiken was ändere (also im Bildbearbeitungsprogramm
z. B. ne Beschriftung hinzu füge) und die Datei einfach speichere
(also die alter Version von Beispiel.png mit der neuen überschreibe)
ist nach einem pdflatex-Durchlauf im ausgegebenen pdf immer noch das
ALTE Bild drin, obwohl es ja eigentlich gar nicht mehr existiert, da
überschrieben wurde....
Vielleicht existiert eine Version des alten Bildes mit einer anderen
Endung (.pdf, .jpg) und die wird gefunden. Oder deine Bildbearbeitung
legt irgendwelche .bak-Dateien an. Welche Pfag zeigt denn die log-Datei?
--
Ulrike Fischer
e-mail: zusätzlich meinen Vornamen vor dem @ einfügen.
e-mail: add my first name between the news and the @.
Uwe Ziegenhagen
2006-05-15 09:43:08 UTC
Permalink
Post by t***@googlemail.com
Hallo zusammen,
Hallo Tanja,

ich bin mir sicher dass Du irgendwie eine falsche Version kompilierst.
Grafiken werden immer 1:1 übernommen, nach einer Änderung am Bild und
Neukompilierung müssen auch die Grafiken im PDF verändert sein.

Du benutzt sicher einen Editor mit LaTeX-Unterstützung, drückst also zur
Neuerstellung des Dokuments vermutlich nur einen Knopf. Versuch mal, aus
dem Verzeichnis mit Deinem Dokument heraus von der Kommandozeile zu
übersetzen.

Kommt eine Fehlermeldung im Editor, wenn die PDF-Datei noch offen ist?
Unter Umständen läuft pdflatex im silentmode und beschwert sich nur am
Ende, dass die Datei nicht geschrieben werden konnte.


Uwe
Tanja
2006-05-15 10:59:56 UTC
Permalink
Hallo Uwe,

zu dem Gesamtproblem habe ich gerade nochmal gepostet, aber eine Frage
direkt an dich:

Ich benutze WinEdt. Da gibt es einen pdflatex-Button, für den unter
Execution Modes "Executable: pdflatex.exe" und "Parameters: %N, %T"
(name, type) eingestellt sind. Das dürfte dann kein silentmode sein,
oder? Die Fehlermeldung, wenn die pdf-Datei noch offen ist, kam früher
immer, seit einem MikTex Update aber nicht mehr, jetzt wird sie einfach
automatisch geschlossen....

Viele Grüße,
Tanja
Tanja
2006-05-15 11:08:46 UTC
Permalink
So, ich habe es "gelöst"... habe den \graphicspath{{./Abb}} auf
\graphicspath{{./Abb/}} geändert und dafür den "/" am Anfang des
Pfads beim \includegraphics weggelassen...

Nach meinem Veständnis sollte das zwar keinen Unterschied machen, aber
naja... jedenfalls geht es jetzt!!!

Danke nochmal Euch allen!

Grüße,
Tanja
Karsten Neumann
2006-05-15 09:50:57 UTC
Permalink
Wenn ich an den Grafiken was ändere [...] und die Datei einfach speichere
ist nach einem pdflatex-Durchlauf im ausgegebenen pdf immer noch das
ALTE Bild drin.
[...] Ich habe: [...]
5) Die Grafik-Datei ganz gelöscht!!! --> Das bringt komischerweise
nicht mal ne Fehlermeldung beim pdflatex-Durchlauf, normalesweise
dürfte er sie ja dann gar nicht mehr finden...
Spätestens hier würde ich hellhörig werden. Liegen die Dateien
eventuell in mehreren Formaten mit gleichem Namen vor? Also sowohl ne
png als auch ne pdf beispielsweise. Dann könnte es sein, dass die
geänderte png nicht genommen wird, weil die pdf zuerst gefunden wird.
Das könnte man checken, indem du bei dem \includegraphics die
Dateiendung mal mit angibst.
6) Sowohl die Grafik Datei als auch den Link vom includegraphics
umbenannt in Beispiel1.png und
\includegraphics[width=16cm]{/Abb/Beispiel} --> Das geht, jetzt wird
die richtige NEUE Datei angezeigt - aber ich will ja nicht jedesmal,
wenn ich ne Grafik bearbeite, den Dateinamen ändern.
Deutet wieder auf das Problem hin, dass eine Datei in mehreren
Formaten vorkommt. Nach den Namensänderung wäre das nämlich nicht mehr
der Fall.
7) Wenn ich beides wieder zurück-umbenenne, kommt wieder die ALTE, gar
nicht mehr existente Version der Grafik.
Und noch nen Aspekt, der sich mit meiner Vermutung erklären liese.
Für mich sieht das so aus, als würde er das ALTE Bild noch irgendwo
in irgendeinem Speicher rumhängen haben und sich "denken", OK, das hab
ich doch schonmal konvertiert, mach ich nich' mehr neu, nehm' ich
einfach die alter Version...
Konvertiert wird da doch eigentlich nichts dacht ich. Die werden
einfach in das Ausgabedokument reinkopiert und fertig. Zudem ist bei
Windows spätestensnachm Neustart alles aus'm RAM raus, das sollte
nicht der Grund sein.
--
Powered by karstenmtr
Irrtümer und Änderungen vorbehalten.
Heiko Oberdiek
2006-05-15 10:05:24 UTC
Permalink
Post by t***@googlemail.com
ich arbeite mit pdflatex unter MikTex (Version 2.4.1461) und binde
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure}
\centering
\includegraphics[width=16cm]{/Abb/Beispiel}
\caption{bla}
\label{bla}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Wenn ich an den Grafiken was ändere (also im Bildbearbeitungsprogramm
z. B. ne Beschriftung hinzu füge) und die Datei einfach speichere
(also die alter Version von Beispiel.png mit der neuen überschreibe)
ist nach einem pdflatex-Durchlauf im ausgegebenen pdf immer noch das
ALTE Bild drin, obwohl es ja eigentlich gar nicht mehr existiert, da
überschrieben wurde....
1) Ich habe SICHER die richtigen Dateien im richtigen Pfad geändert,
unter Windoof, Bildbearbeitungsprogrammen etc. werden sie richtig, also
NEU angezeigt.
5) Die Grafik-Datei ganz gelöscht!!! --> Das bringt komischerweise
nicht mal ne Fehlermeldung beim pdflatex-Durchlauf, normalesweise
dürfte er sie ja dann gar nicht mehr finden...
In diesem Widerspruch zu 1) liegt der Hund begraben. Die Datei gibt es
offensichtlich auch woanders, wo sie von TeX gefunden wird. Beachte
Ulrikes Hinweis, dass auch eine Datei eingebunden werden kann, die
eine andere Endung hat und dass die .log-Datei hilft festzustellen,
welche Datei eingebunden wird.

Auch mit Betriebssystemmitteln kann man suchen, z.B. auf der
Kommandozeile (oder so ähnlich):
dir /s \Beispiel.*
Post by t***@googlemail.com
Für mich sieht das so aus, als würde er das ALTE Bild noch irgendwo
in irgendeinem Speicher rumhängen haben und sich "denken", OK, das hab
ich doch schonmal konvertiert, mach ich nich' mehr neu, nehm' ich
einfach die alter Version...
Nein, so "hellseherisch" ist pdfTeX nicht begabt.

Viele Grüße
Heiko <***@uni-freiburg.de>
Tanja
2006-05-15 10:51:27 UTC
Permalink
Also erstmal DANKE für die vielen Antworten! Hat mir schon etwas
weitergeholfen... allerdings jetzt ein neues Problem:

Ich hab mal die log-Datei näher angeschaut (hatte ich vorher schon,
nur ist es mir da nicht aufgefallen). Tatsächlich, dort ist der Pfad
zu den Bildern z.T. falsch.

Auszug (zwei Bilder werden nacheinander eingebunden, das erste
"richtig", das zweite "falsch", wobei es den zweiten Pfad zufällig
auch gibt, daher keine Fehlermeldung und falsches Bild):
~~~~~~~~~~~~~~
<./Abb/Rastatt/Wasserwerke.png, id=278, 402.50375pt x 348.30125pt>
File: ./Abb/Rastatt/Wasserwerke.png Graphic file (type png)

<use ./Abb/Rastatt/Wasserwerke.png> [10
<./Abb/Rastatt/Wasserwerke.png>]

[11] [12]

</Rastatt/Chlorid.png, id=301, 1897.0875pt x 1271.75125pt>
File: /Rastatt/Chlorid.png Graphic file (type png)

<use /Rastatt/Chlorid.png> [13 </Rastatt/Chlorid.png>]
~~~~~~~~~~~~~~~

Das Komische daran ist, dass ich beide Bilder identisch einbinde,
nämlich:


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure}
\centering
\includegraphics[width=10cm]{/Rastatt/Wasserwerke}
\caption{...}
\label{Rastatt_Wasserwerke}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure}[t!]
\centering
\includegraphics[width=16cm]{/Rastatt/Chlorid}
\caption{...}
\label{RastattChlorid}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Der Grafik-Pfad wird am Anfang definiert als
\graphicspath{{./Abb}}

Ich komm' mir echt schon bescheuert vor, aber warum wird jetzt beim
ersten Bild der graphicspath richtig interpretiert und beim zweiten
nicht? Beide Bilder sind in der gleichen tex-Datei!

Danke und viele Grüße,
Tanja
Ulrike Fischer
2006-05-15 11:12:41 UTC
Permalink
Post by Tanja
Ich komm' mir echt schon bescheuert vor, aber warum wird jetzt beim
ersten Bild der graphicspath richtig interpretiert und beim zweiten
nicht? Beide Bilder sind in der gleichen tex-Datei!
graphicspath heißt nicht "suche nur hier", sondern "suche auch hier".
Der erste (zweite) Pfad wurde halt auch ohne die Deklaration
funktionieren, weil es ein absoluter Pfad ist/sein kann, und nun kommt
noch der Pfad mit /Abb hinzu.
--
Ulrike Fischer
e-mail: zusätzlich meinen Vornamen vor dem @ einfügen.
e-mail: add my first name between the news and the @.
Markus Kohm
2006-05-15 11:14:52 UTC
Permalink
Post by Tanja
\includegraphics[width=10cm]{/Rastatt/Wasserwerke}
...
Post by Tanja
\graphicspath{{./Abb}}
Dadurch wird zunächst nach /Rastatt/Wasserwerke und dann
nach ./Abb/Rastatt/Wasserwerke gesucht (jeweils mit passenden Endungen).
Ich schätze mal, du willst:

\includegraphics[width=10cm]{Rastatt/Wasserwerke}

mit

\graphicspath{{Abb/}}

Wobei sich die Frage stellt, warum du überhaupt sowohl per \graphicspath als
auch per \includegraphics Pfade angibst. Eigentlich würde es reichen
entweder alle \includegraphics um "Abb/" zu erweitern oder \graphicspath um
"Rastatt/" zu ergänzen.

Außerdem ist eigentlich \graphicspath so etwas wie ein "doch nicht ganz so
gute Idee", wie aus Antworten des LaTeX-Teams auf Bugreports hervorgeht.
Spätestens, wenn man mit sehr vielen Grafiken arbeitet, kann nur vor
\graphicspath gewarnt werden.

Gruß
Markus
--
Gruppenhinweise (auch Minimalbeispiel) --> http://www.latex-einfuehrung.de
Fragen zu LaTeX? --> http://www.dante.de/faq/de-tex-faq/
Fragen zu KOMA-Script? --> Anleitung z. B. auf CTAN (--> FAQ);
--> http://www.komascript.de
Tanja
2006-05-15 11:27:54 UTC
Permalink
Hallo Ulrike und Markus,
Post by Ulrike Fischer
graphicspath heißt nicht "suche nur hier", sondern "suche auch hier".
Aha, das wusste ich nicht, aber jetzt ist es mir klar! Danke!!!
Post by Ulrike Fischer
Wobei sich die Frage stellt, warum du überhaupt sowohl per \graphicspath als
auch per \includegraphics Pfade angibst. Eigentlich würde es reichen
entweder alle \includegraphics um "Abb/" zu erweitern oder \graphicspath um
"Rastatt/" zu ergänzen.
Es gibt außer "Rastatt" noch andere Unterverzeichnisse im
Abb-Verzeichnis, sind insgesamt ziemlich viele Abbildungen ;-)

Aber vielleicht lasse ich es dann wirklich ganz mit dem \graphicspath,
wenn es eh Probleme gibt...

Grüße,
Tanja
Markus Kohm
2006-05-15 12:28:10 UTC
Permalink
Post by Tanja
Es gibt außer "Rastatt" noch andere Unterverzeichnisse im
Abb-Verzeichnis, sind insgesamt ziemlich viele Abbildungen ;-)
Das Problem ist folgendes. Angenommen du hat n Suchpfade in \graphicspath
(bei dir ist n also 1) und der graphics-Treiber lässt nach m Endungen
suchen, dann belegen im worst case (letzter Suchpfade und letzte Endung
passen) jede \includegraphics-Anweisung ( n + 1 ) * m Einträge im pool.
Gleichzeitig wird auch String-Speicher in der Länge der in allen
Zwischenschritten erzeugten Dateinamen belegt. Irgendwann geht TeX dann
einer der beiden Speicher aus.

Je nach TeX-Distribution kann das sehr schnell gehen (ältere
Debian-TeX-Distributionen hatten beispielsweise eine sehr kleine pool-size
voreingestellt).

Gruß
Markus
--
Gruppenhinweise (auch Minimalbeispiel) --> http://www.latex-einfuehrung.de
Fragen zu LaTeX? --> http://www.dante.de/faq/de-tex-faq/
Fragen zu KOMA-Script? --> Anleitung z. B. auf CTAN (--> FAQ);
--> http://www.komascript.de
Jens Schiffers
2006-05-15 12:49:38 UTC
Permalink
Post by Markus Kohm
Irgendwann geht TeX dann
einer der beiden Speicher aus.
Hallo,
heißt das, daß dann TeX mit der Ausführung bzw. dvi(oder
pdf)-Erstellung einfach aufhört? Oder nur mit der Suche nach dem Bild,
und das restliche Dokument wird weitererstellt ...

Gruß,
Jens
Markus Kohm
2006-05-15 13:32:49 UTC
Permalink
Post by Jens Schiffers
heißt das, daß dann TeX mit der Ausführung bzw. dvi(oder
pdf)-Erstellung einfach aufhört?
Wenn TeX der Speicher ausgeht, gibt es üblicherweise keine Möglichkeit die
Bearbeitung fort zu setzen.

Übrigens hängt es etwas von TeX-Version ab, wie schwerwiegend das Problem
ist. AFAIK ist bei neueren Version von pdfTeX das Problem der Speicherlast
deutlich vermindert.

Gruß
Markus
--
Gruppenhinweise (auch Minimalbeispiel) --> http://www.latex-einfuehrung.de
Fragen zu LaTeX? --> http://www.dante.de/faq/de-tex-faq/
Fragen zu KOMA-Script? --> Anleitung z. B. auf CTAN (--> FAQ);
--> http://www.komascript.de
Bernhard Kleine
2006-05-18 12:29:28 UTC
Permalink
Post by t***@googlemail.com
Hallo zusammen,
ich arbeite mit pdflatex unter MikTex (Version 2.4.1461) und binde meine
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{figure}
\centering
\includegraphics[width=16cm]{/Abb/Beispiel} \caption{bla}
\label{bla}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Wenn ich an den Grafiken was ändere (also im Bildbearbeitungsprogramm z.
B. ne Beschriftung hinzu füge) und die Datei einfach speichere (also die
alter Version von Beispiel.png mit der neuen überschreibe) ist nach einem
pdflatex-Durchlauf im ausgegebenen pdf immer noch das ALTE Bild drin,
obwohl es ja eigentlich gar nicht mehr existiert, da überschrieben
wurde....
Hallo,
für Tanja scheint das Problem durch den richtigen Pfad gelöst zu sein.

Ich arbeite unter Linux/Gnome und schaue mir die Abbildungen mit evince,
xpdf oder Acrobat Reader an, aus letzterem kann ich problemfrei drucken.
Dabei stelle ich fest, dass acroread nach Schließen der Datei und
Neuladen der Datei noch eine alte Version zeigt, während evince=gpdf
schon die richtige Version anzeigen. Erst wenn der acroread ganz
geschlossen wurde und nach Neustart die Datei wieder liest, ist auch die
neue Version angezeigt.

Kann das jemand bestätigen?

Bernhard
Christoph Bier
2006-05-18 14:09:21 UTC
Permalink
Post by Jens Schiffers
Hallo,
für Tanja scheint das Problem durch den richtigen Pfad gelöst zu sein.
Ich arbeite unter Linux/Gnome und schaue mir die Abbildungen mit evince,
xpdf oder Acrobat Reader an, aus letzterem kann ich problemfrei drucken.
Dabei stelle ich fest, dass acroread nach Schließen der Datei und
Neuladen der Datei noch eine alte Version zeigt, während evince=gpdf
schon die richtige Version anzeigen. Erst wenn der acroread ganz
geschlossen wurde und nach Neustart die Datei wieder liest, ist auch die
neue Version angezeigt.
Kann das jemand bestätigen?
Nein. Debian Sarge, AR 7.0.5

Grüße,
Christoph
--
(La)TeX-FAQ: http://www.dante.de/faq/ +++ Minimalbeispiel erstellen
und Einführung in de.comp.text.tex: http://www.latex-einfuehrung.de/
+++ Veraltete Befehle, Pakete und andere Fehler:
ftp://ftp.dante.de/tex-archive/info/l2tabu/german/l2tabu.pdf
+++ Typografie-Regeln: http://www.zvisionwelt.de/typokurz.pdf (1.4)
Loading...