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?
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It only takes a minute to sign up.
Sign up to join this communityBoth 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?
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).
EPS doesn't support transparency and embeds bitmap images without compression. PDF all the way.
Clearly PDF:
\includegraphics
and compiled with pdflatex
(see answer by Lev Bishop)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.)
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.It cannot be decided without knowing your real scenario.
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.
pdflatex
can import EPS painlessly. Why? Because there is a performance drawback when we usepdflatex
loadingepstopdf
to import EPS.pdflatex
cannot import EPS by design, loadingepstopdf
makespdflatex
as if it can import EPS.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?