Imported graphics in PDFLaTeX

PDFTeX itself has a rather wide range of formats that it can “natively” incorporate into its output PDF stream: JPEG (.jpg files) for photographs and similar images, PNG files for artificial bitmap images, and PDF for vector drawings. Old versions of PDFTeX (prior to version 1.10a) supported TIFF (.tif files) format as an alternative to PNG files; don’t rely on this facility, even if you are running an old enough version of PDFTeX...

In addition to the ‘native’ formats, the standard PDFLaTeX graphics package setup causes Hans Hagen’s supp-pdf macros to be loaded: these macros are capable of translating the output of MetaPost to PDF “on the fly”; thus MetaPost output (.mps files) may also be included in PDFLaTeX documents.

The commonest problem users encounter, when switching from TeX, is that there is no straightforward way to include EPS files: since PDFTeX is its own “driver”, and since it contains no means of converting PostScript to PDF, there’s no direct way the job can be done.

The simple solution is to convert the EPS to an appropriate PDF file. The epstopdf program will do this: it’s available either as a Windows executable or as a Perl script to run on Unix and other similar systems. A LaTeX package, epstopdf, can be used to generate the requisite PDF files “on the fly”; this is convenient, but requires that you suppress one of TeX’s security checks: don’t allow its use in files from sources you don’t entirely trust.

A similar package, pst-pdf, permits other things than ‘mere’ graphics files in its argument. Pst-pdf operates (the authors suggest) “like BibTeX” — you process your file using PDFLaTeX, then use LaTeX, dvips and ps2pdf in succession, to produce a secondary file to input to your next PDFLaTeX run. (Scripts are provided to ease the production of the secondary file.)

An alternative solution is to use purifyeps, a Perl script which uses the good offices of pstoedit and of MetaPost to convert your Encapsulated PostScript to “Encapsulated PostScript that comes out of MetaPost”, and can therefore be included directly. Sadly, purifyeps doesn’t work for all .eps files.

Good coverage of the problem is to be found in Herbert Voss’ PDF support page, which is targeted at the use of pstricks in PDFLaTeX, and also covers the pstricks-specific package pdftricks.

epstopdf
Browse support/epstopdf/
epstopdf.sty
Distributed with Heiko Oberdiek’s packages macros/latex/contrib/oberdiek (gzipped tar, browse)
pdftricks.sty
macros/latex/contrib/pdftricks (gzipped tar, browse)
pst-pdf.sty
macros/latex/contrib/pst-pdf (gzipped tar, browse)
pstoedit
support/pstoedit (gzipped tar, browse)
purifyeps
support/purifyeps (gzipped tar, browse)

This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pdftexgraphics