# What is the practical difference between latex and pdflatex?

I understand that some packages (like PSTricks) can't be used with pdflatex. Are there any other differences between these tools?

Can we say that pdflatex is better if we don't care about ps?

-
 I removed the "tex" tag. See the thread on meta: meta.tex.stackexchange.com/questions/51/avoid-using-the-tex-tag – David Loeffler Aug 3 '10 at 9:07

Some packages only work with direct PDF output.

For example, there’s PGF/TikZ which is analogous to PSTricks but much more powerful in some regards.

There’s also the microtype package which improves LaTeX’ line-breaking algorithm by using microtypographic features of the font. Let me illustrate (left: LaTeX, right: pdfLaTeX with microtype):

[Taken from the TeXblog]

And of course there are the packages that use special PDF features, as mentioned by Dima.

-
Wow didn't know about microtype =) – Dima Jul 27 '10 at 12:07
+1 for microtype. (Damned daily vote limit.) It makes things look much nicer and really helps reduce hyphenation and overfull hboxes. – vanden Jul 27 '10 at 15:33
Tikz works with both latex and pdflatex: it uses PS specials in DVI mode, I think. – Joseph Wright Aug 3 '10 at 9:19
Aye, TikZ is not bound to pdflatex- it works with plain TeX, ConTeXt, latex, pdflatex- pretty much anything. PSTricks on the other hand requires PostScript support. – Sharpie Aug 3 '10 at 18:40
@sharpie indeed, pstricks requires latex or xelatex, but in pdflatex it can be persuaded to work in separate processes. (actually, i have wondered whether there's a future in a translation process like that for metapost output in pdftex; worth thinking about, at least.) – wasteofspace Feb 16 '12 at 11:27
show 1 more comment

I think the only reasons to continue to use `latex` over `pdflatex` are

• You need to use pstricks, or something else which requires dvips specials or particular features of a postscript workflow.
• You need to generate specifically postscript for some reason.
• You have to fit into an existing workflow (quite often journals require postscript figures, and so effectively require you to use `latex`).

Apart from those, I think that `pdflatex` is effectively the default.

(Note that `pdflatex` and `latex` are typically the same program, but when it's invoked as `latex` it defaults the value `\pdfoutput=0`, rather than `\pdfoutput=1`. If this is the case in your installation, you can use plain `latex`, set `\pdfoutput=1`, amd get PDF output rather than DVI, and vice versa.)

-
Even if you need a PostScript version for some strange reason, you can still use pdflatex and just create the PS version with something like `pdftops`. – Jukka Suomela Aug 3 '10 at 17:16
One final reason to use latex: to create dvi files. Some people seem to prefer them for long term archival storage. – András Salamon Aug 4 '10 at 19:26

You can use pstricks from pdflatex, by using a few tricks (all boils down to manual->automatic external invocation of latex&pstopdf to get pdf image of pstricks graphic which can then be picked up by pdflatex).

For beginners there are almost no difference. Once you get to advance usage you start to realise that special things need to be done to use Postscript constructs with pdftex (e.g. pstricks), but on the other hand pdftex engine gives you awesome stuff like pdf table of contents, pdf hyperlinks within document and URL to the web as well as generating pdf metadata, embedding movies / 3D objects, creating PDF-A ready documents for archiving and ability (with certain degrees of pain) to use TTF fonts.

Inverse search is a bit easier with latex. And dvi compilation & preview is much faster. But SyncTeX shows promise for awesome pdftex inverse and forward search.

If you don't use postscript stuff and care about creating high quality PDFs then pdflatex is preffered. But many people use both and have conditional compilation and macros in the preemble when using one or the other engine.

For beginners I would recommend pdflatex since most new users coming from WYSIWYG world of things do not know what dvi and ps are, but everyone nowadays is aware of PDF. After beginners stage it is an open-ended question which depends on particular needs with all engines having special features, advantages and disadvantages.

-
With the SyncTeX-aware editors I find that inverse search works better in PDF mode that in DVI mode. As you say, for new users PDF output is the way to go. I certainly don't use DVI mode myself (but then I only use PostScript rarely, and if so using auto-pst-pdt). – Joseph Wright Jul 27 '10 at 16:40
I have SyncTeX-aware editor, I just don't have SyncTeX-aware viewer =( I'm on Linux and I don't want to use texmaker. – Dima Jul 27 '10 at 17:12
To send material to other people you need PDF in the end (or dead trees, of course). So using pdfLaTeX saves the conversion steps, which is a reason I'd recommend PDF output for beginners (and indeed always use it myself). – Joseph Wright Aug 3 '10 at 9:20

Yet another reason to use pdflatex instead of latex: the `hyperref` package actually works, you can have line breaks in hyperlinks. Extremely useful if you want that your bibliography entries have DOI hyperlinks.

-

The most important practical difference for me is that with pdflatex I can use PDF images instead of EPS.

-

pdflatex allows me to use PNG images, and it's the easiest way to place screenshots into my documents.

-

To Dima, re: “I have SyncTeX-aware editor, I just don't have SyncTeX-aware viewer =( I'm on Linux and I don't want to use texmaker.”

I don’t know why you mentioned Texmaker. It’s not SyncTeX aware. Perhaps you meant TeXworks? Anyway, you don’t need TeXworks for synctex on linux. The recent versions of Okular supports SyncTeX backward search with just about any editor (vim, emacs, kate, kile, gedit, etc.), and I think the next version of evince will as well.

-
 Texmaker is SyncTeX aware; see “3.3 Synchronization source-pdf with Synctex”: xm1math.net/texmaker/doc.html#SECTION24. OTOH, I can't seem to keep it SyncTeX aware when using Xetex. – Flash Sheridan Mar 18 '11 at 3:48 Yes, this is a very old post, before it was. – frabjous Mar 21 '11 at 13:06