[Tex/LaTex] I am new to TeX. Should I use LaTeX, XeLaTeX, …

xetex

I am starting to learn LaTeX and I really like what I am seeing. However, I get the feeling I should actually start with another 'TeX' version. I've been reading about different options. Some references:

These questions and answers are very helpful, but I'd like to check to see if my findings are correct. I get the feeling that XeLaTeX is more of the 'improved' version that provides easier/more font options and makes it easier when using weird characters. Most people talk about 'converting' from one TeX to another, but given the fact that I am a beginner I am looking for the proper TeX flavor right now, so that I do not need to change preambles and such when I am learning about new things that are only available when using other TeX engines.

Some details about my usage:

  • I visualize using TeX mostly for business reports, memos, and investigations.
  • I also might use it for presentations and publishing in book-format.
  • I will not be using advanced math nor Chinese or other very non-Latin symbols.
  • Being a beginner, I do not need to convert any old documents. I have been reading about LaTeX3, however, and this seems like a version that will be superior to the existing TeX options. So when this becomes available, I envision switching to this. So if that is of any validity, I'd say that easy conversion to / compatibility with LaTex3 would be important.

Also, I read about an issue with 'microtype' in XeTeX, but I do not really get what that is and if this would affect me.

To quote from this question related to another beginner's question:

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.

I feel this also applies to my situation, so I am about to use XeLaTeX instead of LaTeX, and learn using this instead. Is this a good idea given my situation, or am I overlooking something important?

Best Answer

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.

Related Question