figure eps con pdflatex
Su Febbraio 14, 2021 da adminIn una recente discussione su questo sito ho imparato che usando
\usepackage[pdf]{pstricks}
consente di eseguire pdflatex
su file contenenti eps
e pstricks
file (e anche psfrag
). Ora un paio di domande:
-
Se un file non contiene
pstricks
, soloeps
epsfrag
, questo metodo può ancora essere utilizzato. Ma esiste un metodo per farlo che non richiede il caricamento dipstricks
? So cheauto-pst-pdf
è un approccio, un altro è caricareepstopdf
, ci sono altri modi per ottenere questo risultato senza caricare questi file? Forse aggiungendo unopzione agraphicx
? -
In tutti questi approcci, ogni volta che
pdflatex
viene eseguito tutti i fileeps
epstricks
vengono convertiti in filepdf
, anche se non sono cambiati. Esiste un approccio che lo impedisce e si converte inpdf
solo se un file è stato modificato dallultima compilazione?
Grazie
Commenti
- Le due domande secondarie sono effettivamente correlate? In caso contrario, potrebbe avere senso separarli.
- Devo aggiungere che epstopdf non può gestire psfrag. Sia auto-pst-pdf che \ usepackage [pdf] {pstricks} gestiscono psfrag senza problemi.
Answer
TeX Live 2010 e 2011 convertono automaticamente i file EPS in PDF, ma sembra che continui a convertirsi, anche quando il file EPS non è cambiato. Lavorando su suggerimento di Herbert, questo dovrebbe fare il trucco. Può funzionare anche con altre distribuzioni, ma non lho “provato.
\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}
Commenti
- Sul mio sistema non continua la conversione se il file eps non viene modificato … Forse differenza in epstopdf.cfg?
- Forse. Pensavo di avere uninstallazione di TeX Live 2011 su Windows senza modifiche esplicite a epstopdf.cfg, ma le cose potrebbero essere diverse su un altro sistema operativo, oppure potrei semplicemente sbagliarmi sullaggiornamento automatico o sulla natura del mio epstopdf.cfg.
- aha … su Windows potrebbe ci sono problemi con i timestamp … Spiacenti, non ho una casella di Windows per controllare
Risposta
-
In un sistema moderno un
foo.eps
file in\includegraphics{foo}
, se presente, viene automaticamente convertito infoo.pdf
durantepdflatex
esecuzione. -
Questa conversione viene eseguita una sola volta, quindi
foo.pdf
viene lasciato per le prossime manche. Se cambi yo ureps
file, verrà rigenerato.
Considera questo esempio:
\documentclass{article} \usepackage{graphicx} \begin{document} \includegraphics{tmp1} \end{document}
Quando lho eseguito, avevo il file tmp1.eps
, ma nessun tmp1.png
o tmp1.pdf
nella mia directory di lavoro. Il registro diceva:
(/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.
come vedi, il file è stato convertito. Quindi ho eseguito di nuovo pdflatex
:
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)
Come vedi, non è stata eseguita alcuna conversione.
Poi ho cambiato il mio tmp1.eps
ed ho eseguito di nuovo `pdflatex. E il registro diceva:
(/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.
Come vedi, ora il file è stato rigenerato!
Commenti
- Questo approccio non funziona per me (Miktex 2.9, aggiornato regolarmente). Ottengo il messaggio di errore :! Errore LaTeX: file `tmp1 ' non trovato. Vedere il manuale LaTeX o LaTeX Companion per la spiegazione. Digita H < return > per assistenza immediata. … l.4 \ includegraphics {tmp1}?
- Bene, potresti prendere in considerazione lidea di provare TeXLive per Windows … Come dice @ Mike-renfro, funziona in Windows TL
- Per quanto riguarda MiKTeX e
epstopdf
vedi anche questa mia risposta: Includere le figure pdf nel documento Latex usando TexnicCenter . - Tieni presente che devi avere
texlive-font-utils
installato, altrimenti linclusione della grafica eps continuerà a non funzionare (con messaggi di errore non informativi). Vedi questa risposta . - @oulenz Sicuramente. Ho ipotizzato uninstallazione completa di TeXLive o equivalente
Answer
Riguardo alla tua prima domanda: package epstopdf
è una buona scelta quando si usano immagini eps.
Per quanto riguarda la seconda domanda: cè solo la possibilità di creare nessuna o tutte le immagini.
Commenti
- Temo che tu non sia corretto rispetto alla seconda domanda 🙁 ho pensato la stessa cosa, e poi ho eseguito i test. epstopdf è MOLTO intelligente 🙂
- Mi riferivo a
pst-pdf
con la seconda parte. - Scusa, ti ho capito male …
- Il problema con epstopdf è che non è in grado di gestire frammenti di psfrag.
- @Per
auto-pst-pdf
può …
Lascia un commento