# Which figure type to use: pdf or eps?

Both are vector graphics (typically) and both can be imported painlessly into a pdflatex document (so let's say we ignore dvi for this question).

What are the advantages and disadvantages of each? What should I use?

-
I tried to answer "PDF" but I couldn't figure out how to waste 15 characters to say that. –  Jukka Suomela Aug 20 '10 at 16:08
Adobe recommends against using EPS and recommends using PDF instead. adobe.com/print/features/psvspdf (EPS and PS are really the same). –  Dr. Zim Aug 20 '10 at 20:31
This question contains a wrong assumption that `pdflatex` can import EPS painlessly. Why? Because there is a performance drawback when we use `pdflatex` loading `epstopdf` to import EPS. `pdflatex` cannot import EPS by design, loading `epstopdf` makes `pdflatex` as if it can import EPS. –  xport Jul 20 '11 at 21:11
not sure if it's worth opening a separate, new question for this: anyone can comment on how `SVG` fits in? Is that only used when there's no better (PDF, EPS) option available, e.g. when exporting from a WYSIWYG-office-application? –  nutty about natty May 5 '13 at 9:58

Use PDF. EPS cannot be imported directly by pdftex but must be converted using something like `epstopdf`. These conversion procedures will often cause unwanted changes to the graphics, such as lossy JPEG encoding of embedded bitmap images. Pdftex will include PDF files directly without making any changes (except for unifying fonts, and even that can be disabled if needed), so you can have complete control over the final result by generating a PDF which is exactly as you want it (assuming your image editing software gives you control over image encoding lossiness, colour spaces, etc).

-
Also, reviewing .eps files could be a bit tricky, especially if you're not the one who have created them (depending on OS and software). While with PDFs you can easily see what's inside. –  Martin Tapankov Aug 20 '10 at 16:14

EPS doesn't support transparency and embeds bitmap images without compression. PDF all the way.

-
EPS can embed compressed bitmap data in language level 2 and 3. Using sam2p <pts.szit.bme.hu/sam2p/>; you can get compression in language level 1 as well. Sam2p can create transparent eps images too. –  Martin Heller Aug 20 '10 at 19:46
Nice link, thanks. –  Will Robertson Aug 21 '10 at 1:53

Clearly PDF:

• pdf is an ISO standard, eps is not
• pdf can directly be used via `\includegraphics` and compiled with `pdflatex` (see answer by Lev Bishop)
• pdf has more features than eps, i.e. transparency (see answer by Will Robertson)
• even your grandma has a pdf reader on her computer, so if you send her just the images she will be able to look at them
• more software can export to pdf than eps, i.e. Excel can export diagrams as pdf
-

One advantage of EPS figures is the ability to use the psfrag package to replace axis labels etc. with properly LaTeXed versions generated with the same fonts etc. as your main document. I used to generate all my plots with matplotlib or MATLAB using this feature. Matplotlib's support for this is broken, but it instead provides a usetex option that allows you to embed LaTeX generated the labels directly in PDF files which I now use exclusively.

-

For really big bitmapped images, I've always converted to jpeg at the required quality, then I'd use 'jpeg2ps' which takes just the raw jpeg data and wraps it in a postscript wrapper. It's been a lifesaver for me on arXiv. You can then use 'eps2pdf' to get it the way you want it.

-
With pdflatex you can simply use JPEG files directly. They will be always embedded as-is in your final PDF file, there will be no decompression and recompression. –  Jukka Suomela Aug 21 '10 at 11:35
1. The decision whether choosing PDF or EPS totally depends on what compiler you use.
2. We have some options for compiler, such as `pdflatex`, `xelatex`, `latex`, etc. The decision in choosing a compiler also depends on your real scenario. If you are developing a web based system, for example, a bunch of EPS images generated on the fly should be imported to LaTeX input files directly, they are then compiled with `latex`. Converting the EPS to PDF, importing the resulting PDF to LaTeX input files, and compiling them using `pdflatex` will hurt the performance.

## Summary

It cannot be decided without knowing your real scenario.

-