I have been using LaTeX for five years now and have been using PDFLaTeX ever since. I find it hard to monitor the progress of LaTeX development.
Recently there is a lot of talk about XeTeX. What is that exactly? Does it make sense to switch to it?
[Tex/LaTex] XeTeX exactly and why should I use it
xetex
Related Solutions
My impression is that most people currently still use the pdftex engine - I know I do. For the kind of usage you describe, the main advantage of the luatex and xetex engines consists in easier access to the OpenType or TrueType fonts installed on your system. If you are happy with the fonts that are easily available under pdflatex, there is no urgent need to switch.
The main application of the microtype package is to improve the visual impression of alignment of the right margin of a block of text, by actually deviating from strict alignment, for example by pushing hyphens a little further out into the margin. It also can slightly stretch and compress the characters in a line of text, which helps to reduce the number of hyphenated words and improve appearance and readability. I understand that with luatex you can use both true type fonts and microtype, so it is probably the best option going forward. (Edit: See also Holle's answer below for further advantages of luatex that may apply to your applications.)
Regarding pstricks, it is a truly impressive graphics package and cannot be used directly with pdflatex and luatex, since it is built on top of postscript. However, you could always compile a pstricks graphics with pslatex, convert the compiled postscript document to pdf, and include that in a document compiled with pdflatex. In addition, most people today seem to be using TikZ, which is another extremely powerful graphics package that can be used directly with all tex engines.
One important point to understand is that there isn't any different syntax to learn between pdftex, xetex and luatex - save for a few specific commands for loading the fonts, the document-level latex code is the same. So, you needn't worry about this choice too much - its easy to change horses halfway through the race.
You can further minimize any trouble associated with changing your setup by collecting most of your settings in one place. For this purpose, I have made myself a little standardsetup
package, which includes trivial lines such as
\RequirePackage{
amsmath,
amssymb,
array,
booktabs,
calc,
color,
...,
myabbreviations, % package containing abbreviations I often need
...
}
\RequirePackage[T1]{fontenc}
\RequirePackage[altbullet]{lucidabr} % load the lucida fonts (commercial)
The myabbreviations
package contains simple macros such as
\newcommand{\Pot}{K\textsuperscript{+}\xspace} % potassium ion
\newcommand{\Sod}{Na\textsuperscript{+}\xspace} % sodium ion
\newcommand{\Cal}{Ca\textsuperscript{2+}\xspace} % calcium ion
In my documents, I can then most of the time just say
\documentclass[letterpaper,10pt]{article}
\usepackage{standardsetup}
\begin{document}
...
Should I ever decide to switch for example to another preferred font family, which I would want to access through xetex and the fontspec
package, I could make that change just once in the standardsetup
package, and it would then propagate to all documents that use the package.
Whether or not Latex3 ever becomes the standard remains to be seen. In any case, I don't think it intends to break backward compatibility in a sweeping manner; most user-level commands such as sectioning, labels and references, and character formatting commands will likely continue to work the same way. Some of the Latex3 developers frequent this site and may have more to say about this topic.
For me the biggest change is Lua(TeX): the ability to separate TeX's building blocks (processing the input / building the node lists / output). That way you can for example build a product that uses TeX's linebreaking and hyphenation algorithm and its superb output, but without its troublesome input language.
With the minimal TeX file
\catcode`\{=1
\catcode`\}=2
\directlua{require("whatever")}
\end
You can jump into Lua mode and access TeX from the Lua-side without switching back to TeX. The Lua end is powerful enough to load fonts and images, input files, process the input, and have comlete control over the output. There is a very nice and large API to do everything can do on the \macro{}
level.
Best Answer
If you have trouble with fonts and character sets, it may be for you: lots of people have the experience that things just work with Xetex which require fiddling with Pdftex. Two capabilities:
{inputenc}
Latex package;If these aren't issues for you, then there's not much reason to consider moving to Xetex. Pdftex has more sophisticated microtypography.
Look at Joseph Wright's answer to the Differences between LuaTeX, ConTeXt and XeTeX question: Luatex is intended to be the successor project to Pdftex, and he is informative about what is ahead.