eps-siffror med pdflatex
On februari 14, 2021 by adminI en ny diskussion på denna webbplats lärde jag mig att använda
\usepackage[pdf]{pstricks}
gör det möjligt att köra pdflatex
på filer som innehåller eps
och pstricks
filer (och psfrag
användning också). Nu ett par frågor:
-
Om en fil inte innehåller
pstricks
, baraeps
ochpsfrag
, den här metoden kan fortfarande användas. Men finns det en metod för att göra detta som inte kräverpstricks
? Jag vet attauto-pst-pdf
är en metod, en annan är att laddaepstopdf
, finns det några andra sätt att uppnå detta utan att ladda in dessa filer? Kanske genom att lägga till ett alternativ tillgraphicx
? -
I alla dessa tillvägagångssätt, varje gång som
pdflatex
körs allaeps
ochpstricks
filer konverteras tillpdf
filer, även om de inte har förändrats. Finns det ett tillvägagångssätt som förhindrar det och bara konverterar tillpdf
om en fil har ändrats från den senaste sammanställningen?
Tack
Kommentarer
- Är de två delfrågorna faktiskt relaterade? Om inte, kan det vara vettigt att separera dem.
- Jag måste lägga till att epstopdf inte kan hantera psfrag. Både auto-pst-pdf och \ usepackage [pdf] {pstricks} hanterar psfrag utan problem.
Svar
TeX Live 2010 och 2011 konverterar automatiskt EPS-filer till PDF, men det ser ut som att det fortsätter att konvertera, även när EPS-filen inte har ändrats. Arbetar från Herberts förslag, detta borde göra tricket. Det kan också fungera med andra distributioner, men jag har inte försökt.
\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}
Kommentarer
- På mitt system fortsätter det inte att konvertera om eps-filen inte ändras … Kanske skillnad i epstopdf.cfg?
- Jag trodde att jag hade en TeX Live 2011-lagerinstallation på Windows utan några uttryckliga ändringar till epstopdf.cfg, men saker och ting kan vara annorlunda på ett annat operativsystem, eller så kan jag helt enkelt ha fel om den automatiska uppdateringen eller arten av min epstopdf.cfg.
- aha … på Windows kunde det vara problem med tidsstämplar … Jag har tyvärr ingen Windows-ruta att markera
Svar
-
I ett modernt system konverteras en
foo.eps
-fil i\includegraphics{foo}
, om den finns, automatiskt tillfoo.pdf
underpdflatex
körning. -
Denna omvandling görs bara en gång, så
foo.pdf
är kvar för nästa körning. Om du byter yo ureps
-fil, den kommer att regenereras.
Tänk på detta exempel:
\documentclass{article} \usepackage{graphicx} \begin{document} \includegraphics{tmp1} \end{document}
När jag körde den hade jag filen tmp1.eps
, men ingen tmp1.png
eller tmp1.pdf
i min arbetskatalog. Loggen sa:
(/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.
som du ser konverterades filen. Sedan sprang jag pdflatex
igen:
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)
Som ni ser, gjordes ingen konvertering.
Sedan ändrade jag min tmp1.eps
och kör `pdflatex igen. Och loggen sa:
(/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.
Som du ser, nu blev filen återskapad!
Kommentarer
- Detta tillvägagångssätt fungerar inte för mig (Miktex 2.9, uppdateras regelbundet). Jag får felmeddelandet :! LaTeX-fel: Fil `tmp1 ' hittades inte. Se LaTeX-manualen eller LaTeX Companion för förklaring. Skriv H < returnera > för omedelbar hjälp. … l.4 \ includingegraphics {tmp1}?
- Tja, du kan överväga att prova TeXLive för Windows … Som @ Mike-renfro säger, det fungerar i Windows TL
- När det gäller MiKTeX och
epstopdf
se även detta svar från mig: Inkluderar pdf-siffror i Latex-dokument med TexnicCenter . - Observera att du måste ha
texlive-font-utils
, annars kommer eps-grafik fortfarande att misslyckas (med oinformativa felmeddelanden). Se detta svar . - @oulenz Visst. Jag antog en fullständig TeXLive eller motsvarande installation
Svar
När det gäller din första fråga: paket epstopdf
är ett bra val när du använder eps-bilder.
När det gäller den andra frågan: det finns bara en möjlighet att skapa inga eller alla bilder.
Kommentarer
- Jag är rädd att du är felaktig med andra frågan 🙁 Jag tänkte samma sak och kör sedan tester. epstopdf är MYCKET smart 🙂
- Jag hänvisade till
pst-pdf
med den andra delen. - Förlåt, jag missförstod dig …
- Problemet med epstopdf är att det inte kan hantera psfrag-fragment.
- @Per
auto-pst-pdf
kan …
Lämna ett svar