eps figuren met pdflatex
Geplaatst op februari 14, 2021 door adminIn een recente discussie op deze site leerde ik dat het gebruik van
\usepackage[pdf]{pstricks}
maakt het mogelijk om pdflatex
uit te voeren op bestanden die eps
en pstricks
bestanden bevatten (en psfrag
ook). Nu een paar vragen:
-
Als een bestand geen
pstricks
bevat, hoeft u alleeneps
enpsfrag
, kan deze methode nog steeds worden gebruikt. Maar is er een methode om dit te doen waarbijpstricks
niet hoeft te worden geladen? Ik weet datauto-pst-pdf
één benadering is, een andere is omepstopdf
te laden. Zijn er andere manieren om dit te bereiken zonder deze bestanden te laden? Misschien door een optie toe te voegen aangraphicx
? -
In al deze benaderingen, elke keer dat
pdflatex
wordt uitgevoerd, alleeps
enpstricks
bestanden worden geconverteerd naarpdf
bestanden, zelfs als ze niet zijn veranderd. Is er een aanpak die het voorkomt en alleen converteert naarpdf
als een bestand is gewijzigd ten opzichte van de laatste compilatie?
Bedankt
Reacties
- Zijn de twee subvragen eigenlijk gerelateerd? Als dat niet het geval is, kan het zinvol zijn om ze te scheiden.
- Ik moet hieraan toevoegen dat epstopdf psfrag niet aankan. Zowel auto-pst-pdf als \ usepackage [pdf] {pstricks} behandelen psfrag zonder problemen.
Answer
TeX Live 2010 en 2011 converteren automatisch EPS-bestanden naar PDF, maar het lijkt erop dat het blijft converteren, zelfs als het EPS-bestand niet is gewijzigd. Uitgaande van de suggestie van Herbert, zou dit de slag moeten slaan. Het kan ook werken met andere distributies, maar ik “heb het niet geprobeerd.
\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}
Reacties
- Op mijn systeem blijft het niet converteren als het eps-bestand niet wordt gewijzigd … Misschien verschil in epstopdf.cfg?
- Misschien. Ik dacht dat ik een stock TeX Live 2011-installatie op Windows had zonder expliciete wijzigingen naar epstopdf.cfg, maar de dingen kunnen anders zijn op een ander besturingssysteem, of ik zou het gewoon mis kunnen hebben over de automatische update, of de aard van mijn epstopdf.cfg.
- aha … op Windows zou dat kunnen problemen zijn met tijdstempels … Sorry, ik heb geen Windows-vak om te controleren
Answer
-
In een modern systeem wordt een
foo.eps
-bestand in\includegraphics{foo}
, indien aanwezig, automatisch geconverteerd naarfoo.pdf
tijdenspdflatex
run. -
Deze conversie wordt maar één keer uitgevoerd, dus
foo.pdf
blijft staan voor de volgende runs. Als je van yo verandert ureps
bestand, wordt het opnieuw gegenereerd.
Beschouw dit voorbeeld:
\documentclass{article} \usepackage{graphicx} \begin{document} \includegraphics{tmp1} \end{document}
Toen ik het uitvoerde, had ik bestand tmp1.eps
, maar geen tmp1.png
of tmp1.pdf
in mijn werkdirectory. Het logboek zei:
(/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.
zoals je ziet, is het bestand geconverteerd. Toen heb ik pdflatex
opnieuw uitgevoerd:
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)
Zoals u ziet, is er geen conversie uitgevoerd.
Daarna veranderde ik mijn tmp1.eps
en voer ik `pdflatex opnieuw uit. En het logboek zei:
(/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.
Zoals je ziet, nu is het bestand opnieuw gegenereerd!
Opmerkingen
- Deze benadering werkt niet voor mij (Miktex 2.9, regelmatig bijgewerkt). Ik krijg de foutmelding :! LaTeX-fout: bestand `tmp1 ' niet gevonden. Zie de LaTeX-handleiding of LaTeX Companion voor uitleg. Typ H < return > voor onmiddellijke hulp. … l.4 \ includeegraphics {tmp1}?
- Nou, je zou kunnen overwegen om TeXLive voor Windows te proberen … Zoals @ Mike-renfro zegt, het werkt in Windows TL
- Zie voor MiKTeX en
epstopdf
ook dit antwoord van mij: Inclusief pdf-figuren in latexdocument met TexnicCenter . - Merk op dat u
texlive-font-utils
moet hebben geïnstalleerd, anders zal het opnemen van eps-afbeeldingen nog steeds mislukken (met niet-informatieve foutmeldingen). Zie dit antwoord . - @oulenz Zeker. Ik ging uit van een volledige installatie van TeXLive of gelijkwaardig
Answer
Wat betreft je eerste vraag: pakket epstopdf
is een goede keuze bij het gebruik van EPS-afbeeldingen.
Wat betreft de tweede vraag: er is alleen een mogelijkheid om geen of alle afbeeldingen te creëren.
Opmerkingen
- Ik ben bang dat je onjuist bent met betrekking tot de tweede vraag 🙁 Ik dacht hetzelfde, en voer dan tests uit. epstopdf is ERG slim 🙂
- Ik verwees naar
pst-pdf
met het tweede deel. - Sorry, ik heb je verkeerd begrepen …
- Het probleem met epstopdf is dat het psfrag-fragmenten niet aankan.
- @Per
auto-pst-pdf
kan …
Geef een reactie