Which "TeX" should one use?
For newbies, pdfLaTeX, XeLaTeX and LuaLaTeX are better choice than LaTeX (latex.exe
), which needs multiple steps to produce an output file.
pdfLaTeX is traditional choice, it is fast and robust. pdfLaTeX works on old TeX distributions like teTeX, TeX Live 2008- and MiKTeX 2.6-. Almost all modern packages support pdfLaTeX best (except PSTricks).
XeLaTeX and LuaLaTeX are quite new, both have full support of Unicode and can access fonts installed in the OS. LuaLaTeX is the successor of pdfLaTeX, thus may have good compatibility. XeLaTeX has more macro packages now, and it is a little faster than LuaLaTeX. LuaLaTeX is (potentially) much more powerful than XeLaTeX, but there is less support for LaTeX, most is for ConTeXt.
XeLaTeX would be (especially) suitable to you, for better (Unicode) multilingual support and easy font switching. And it supports more image format and PSTricks code.
For you, it is better to use XeLaTeX if you are typesetting Chinese, or write something yourself; and use pdfLaTeX if you are writing articles for academic journals (in English).
I will update this answer whenever I get a new information later.
I don't use WinEdt so I don't know what WinEdt does behind the scene when we press each button in your screenshot. As a comparison, pressing a button in TeXnicCenter (another TeX editor for Windows) will execute a set of commands.
NOTE: I will not mention or compare features provided by packages to silently do cross-invocation. For example: By default, pdflatex
cannot import EPS and cannot make use of PSTricks code, but currently it is possible by loading epstopdf
and auto-pst-pdf
packages, respectively.
latex
- The input file (file with extension
.tex
) withgraphics
/graphicx
package can only import EPS images, usingdvips
as output driver; PDF, PNG and JPEG images are supported usingdvipdfmx
, but external programextractbb
/ebb
/xbb
should be manually or automatically (in TeX Live 2010+) used. - The input file can contain PSTricks using
dvips
. Certainly TikZ is always portable. - Invoking
latex filename.tex
will producefilename.dvi
. If the input file imports images,latex
does not embed them in the resulting DVI. We must keep DVI and image files as is. If we insist on deleting the image files (and DVI), we must convert the DVI either to- PS using
dvips
and just keep the resulting PS that is self-contained. - PDF using
dvipdfmx
and just keep the resulting PDF that is self-contained. Caution:dvipdfmx
cannot be used when the DVI is previously produced from an input file that contains PSTricks code. There're some old drivers, e.g.dvipdf
anddvipdfm
to convert DVI to PDF format, butdvipdfmx
is much powerful, and may be the only choice in TeX Live 2010+.
- PS using
- If we want to get a PDF as the final output, we must convert the DVI to PDF using one of the following methods:
- If the input file does not contain PSTricks code, use
dvipdfmx
. - Otherwise, use
dvips
followed byps2pdf
.
- If the input file does not contain PSTricks code, use
pdflatex
- The input file with
graphicx
package can only import PNG, JPEG and PDF images. EPS images are not directly supported. (However,epstopdf
package may be automatically loaded in TeX Live 2010+ bygraphicx
) - The input file can only use TikZ code, PSTricks code is not supported by default.
- Invoking
pdflatex filename.tex
will producefilename.pdf
output that is self-contained. - If the input file contains long url, the resulting url in the PDF will be nicely split into several lines.
xelatex
- The input file with
graphicx
package can import PNG, JPEG, PDF, EPS images, using xdvipdfmx driver. Like dvipdfm(x), EPS images are converted to PDF by gs on the fly. But the compilation time is sometimes too long. - The input file can use TikZ and PSTricks code.
- Invoking
xelatex filename.tex
will producefilename.pdf
output that is self-contained. - The input file supports unicode.
To be continued....
The top answer gives you what to choose, but you might see other variations that might confuse you. The TeX formats and engines summaries the relations between engines of formats: