eps-Zahlen mit pdflatex
On Februar 14, 2021 by adminIn einer kürzlich auf dieser Site geführten Diskussion habe ich erfahren, dass
\usepackage[pdf]{pstricks}
ermöglicht die Ausführung von pdflatex
für Dateien, die eps
und pstricks
Dateien (und psfrag
Verwendung ebenfalls). Nun ein paar Fragen:
-
Wenn eine Datei nicht
pstricks
enthält, nureps
undpsfrag
kann diese Methode weiterhin verwendet werden. Aber gibt es dafür eine Methode, bei derpstricks
nicht geladen werden muss? Ich weiß, dassauto-pst-pdf
ein Ansatz ist, ein anderer das Laden vonepstopdf
. Gibt es andere Möglichkeiten, dies zu erreichen, ohne diese Dateien zu laden? Möglicherweise durch Hinzufügen einer Option zugraphicx
? -
Bei all diesen Ansätzen jedes Mal, wenn
pdflatex
wird ausgeführt. Alleeps
undpstricks
-Dateien werden sogar inpdf
-Dateien konvertiert wenn sie sich nicht geändert haben. Gibt es einen Ansatz, der dies verhindert und nur dann inpdf
konvertiert, wenn eine Datei gegenüber der letzten Kompilierung geändert wurde?
Danke
Kommentare
- Sind die beiden Unterfragen tatsächlich miteinander verbunden? Wenn nicht, kann es sinnvoll sein, sie zu trennen.
- Ich muss hinzufügen, dass epstopdf psfrag nicht verarbeiten kann. Sowohl auto-pst-pdf als auch \ usepackage [pdf] {pstricks} verarbeiten psfrag problemlos.
Antwort
TeX Live 2010 und 2011 konvertieren EPS-Dateien automatisch in PDF, aber es sieht so aus, als würde es weiter konvertiert, auch wenn sich die EPS-Datei nicht geändert hat. Nach Herberts Vorschlag sollte dies den Trick tun. Es kann auch mit anderen Distributionen funktionieren, aber ich habe es nicht versucht.
\documentclass{article} \usepackage{graphicx} \usepackage{epstopdf} \epstopdfsetup{update} % only regenerate pdf files when eps file is newer \begin{document} \includegraphics[width=\textwidth]{sine} % loads sine-eps-converted-to.pdf \end{document}
Kommentare
- Auf meinem System wird die Konvertierung nicht fortgesetzt, wenn die EPS-Datei nicht geändert wird … Vielleicht ein Unterschied in epstopdf.cfg?
- Vielleicht. Ich dachte, ich hätte eine TeX Live 2011-Standardinstallation unter Windows ohne explizite Änderungen zu epstopdf.cfg, aber auf einem anderen Betriebssystem könnten die Dinge anders sein, oder ich könnte mich einfach in Bezug auf das automatische Update oder die Art meiner epstopdf.cfg irren.
- aha … unter Windows könnte es sein Probleme mit Zeitstempeln haben … Entschuldigung, ich habe kein Windows-Kontrollkästchen zum Aktivieren von
Antwort
-
In einem modernen System wird eine
foo.eps
-Datei in\includegraphics{foo}
, falls vorhanden, automatisch in währendpdflatex
ausgeführt. -
Diese Konvertierung wird nur einmal durchgeführt, daher
foo.pdf
bleibt für die nächsten Läufe übrig. Wenn Sie yo ändern In Ihrereps
-Datei wird sie neu generiert.
Betrachten Sie dieses Beispiel:
\documentclass{article} \usepackage{graphicx} \begin{document} \includegraphics{tmp1} \end{document}
Als ich es ausführte, hatte ich die Datei tmp1.eps
, aber keine tmp1.png
oder tmp1.pdf
in meinem Arbeitsverzeichnis. Im Protokoll stand:
(/usr/local/texlive/2011/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv e )) Package epstopdf Info: Source file: <tmp1.eps> (epstopdf) date: 2011-12-12 13:41:25 (epstopdf) size: 15351 bytes (epstopdf) Output file: <tmp1-eps-converted-to.pdf> (epstopdf) Command: <repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps> (epstopdf) \includegraphics on input line 4. runsystem(repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps)...executed sa fely (allowed). Package epstopdf Info: Result file: <tmp1-eps-converted-to.pdf> (epstopdf) date: 2011-12-16 14:36:28 (epstopdf) size: 7774 bytes. <tmp1-eps-converted-to.pdf, id=1, 346.00266pt x 37.00826pt> File: tmp1-eps-converted-to.pdf Graphic file (type pdf) <use tmp1-eps-converted-to.pdf> Package pdftex.def Info: tmp1-eps-converted-to.pdf used on input line 4. (pdftex.def) Requested size: 346.0018pt x 37.00815pt.
Wie Sie sehen, wurde die Datei konvertiert. Dann habe ich pdflatex
erneut ausgeführt:
Package epstopdf Info: Source file: <tmp1.eps> (epstopdf) date: 2011-12-12 13:41:25 (epstopdf) size: 15351 bytes (epstopdf) Output file: <tmp1-eps-converted-to.pdf> (epstopdf) date: 2011-12-16 14:36:28 (epstopdf) size: 7774 bytes (epstopdf) Command: <repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps> (epstopdf) \includegraphics on input line 4. Package epstopdf Info: Output file is already uptodate. <tmp1-eps-converted-to.pdf, id=1, 346.00266pt x 37.00826pt> File: tmp1-eps-converted-to.pdf Graphic file (type pdf)
Wie Sie sehen, wurde keine Konvertierung durchgeführt.
Dann habe ich meine tmp1.eps
geändert und `pdflatex erneut ausgeführt. Und das Protokoll sagte:
(/usr/local/texlive/2011/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv e )) Package epstopdf Info: Source file: <tmp1.eps> (epstopdf) date: 2011-12-16 14:40:16 (epstopdf) size: 620519 bytes (epstopdf) Output file: <tmp1-eps-converted-to.pdf> (epstopdf) date: 2011-12-16 14:36:28 (epstopdf) size: 7774 bytes (epstopdf) Command: <repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps> (epstopdf) \includegraphics on input line 4. runsystem(repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps)...executed sa fely (allowed). Package epstopdf Info: Result file: <tmp1-eps-converted-to.pdf> (epstopdf) date: 2011-12-16 14:40:21 (epstopdf) size: 19423 bytes. <tmp1-eps-converted-to.pdf, id=1, 241.90375pt x 188.705pt> File: tmp1-eps-converted-to.pdf Graphic file (type pdf) <use tmp1-eps-converted-to.pdf> Package pdftex.def Info: tmp1-eps-converted-to.pdf used on input line 4. (pdftex.def) Requested size: 241.90315pt x 188.70453pt.
Wie Sie sehen, wurde jetzt die Datei neu generiert!
Kommentare
- Dieser Ansatz funktioniert bei mir nicht (Miktex 2.9, regelmäßig aktualisiert). Ich erhalte die Fehlermeldung:! LaTeX-Fehler: Datei `tmp1 ' wurde nicht gefunden. Erläuterungen finden Sie im LaTeX-Handbuch oder im LaTeX Companion. Geben Sie H < ein und geben Sie > zurück, um sofortige Hilfe zu erhalten. … l.4 \ includegraphics {tmp1}?
- Nun, Sie können TeXLive für Windows ausprobieren … Wie @ Mike-renfro sagt, funktioniert es in Windows TL
- Zu MiKTeX und
epstopdf
siehe auch meine Antwort: Einfügen von PDF-Abbildungen in Latex-Dokumente mit TexnicCenter . - Beachten Sie, dass
texlive-font-utils
installiert sein muss, andernfalls schlägt das Einschließen von EPS-Grafiken weiterhin fehl (mit nicht informativen Fehlermeldungen). Siehe diese Antwort . - @oulenz Sicher. Ich habe eine vollständige TeXLive- oder gleichwertige Installation angenommen.
Antwort
Zu Ihrer ersten Frage: package epstopdf
ist eine gute Wahl bei der Verwendung von EPS-Bildern.
Zur zweiten Frage: Es besteht nur die Möglichkeit, keine oder alle Bilder zu erstellen.
Kommentare
- Ich fürchte, Sie sind falsch in Bezug auf die zweite Frage 🙁 Ich dachte das Gleiche und führe dann Tests durch. epstopdf ist SEHR klug 🙂
- Ich bezog mich zu
pst-pdf
mit dem zweiten Teil. - Entschuldigung, ich habe Sie falsch verstanden …
- Das Problem mit epstopdf ist, dass es keine psfrag-Fragmente verarbeiten kann.
- @Per
auto-pst-pdf
kann …
Schreibe einen Kommentar