64

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?

  • 21
    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
  • 5
    Adobe recommends against using EPS and recommends using PDF instead. adobe.com/print/features/psvspdf (EPS and PS are really the same). – Zachary Scott Aug 20 '10 at 20:31
  • 2
    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
  • 1
    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
56

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
20

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

  • 4
    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
  • 1
    @MattAllegro The link still works for me. But this github.com/pts/sam2p should be the current active site for sam2p. – Martin Heller Mar 31 '18 at 16:28
17

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, e.g. Excel can export diagrams as pdf
4

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.

(See also: Using psfrag with pdflatex.)

1
  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.

0

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.

  • 7
    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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.