# I am new to TeX. Should I use LaTeX, XeLaTeX, …?

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.

• 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?

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.

• I have to admit that I was completely ignorant how easy is to use xetex and luatex engines until your beautiful answer. It is due to my idiotic assumption that they require new syntax for typing like ConTeXt macros. – Predrag Punosevac Jan 29 '12 at 6:42
• One important thing about xeLaTeX: You can compile PStricks code directly to PDF. – Uwe Ziegenhagen Jan 29 '12 at 6:53
• @UweZiegenhagen: PSTricks also works with pdflatex using pst-pdf package. – Aditya Jan 29 '12 at 18:43
• Yes, that is true. But with xeLaTeX you don't even have to use this package. – Uwe Ziegenhagen Jan 30 '12 at 18:23

I would suggest starting with ConTeXt (to be precise, ConTeXt MkIV). Its main advantage is a consistent, key-value driven user-interface. See my detailed answer (and also other answers) in Why sould I be interested in ConTeXt?

Both ConTeXt and LaTeX allow you to use system fonts if you are using either XeTeX or LuaTeX engine.

I would suggest starting with the LuaTeX engine (ConTeXt MkIV), as this will allow you to write TeX macros using Lua. See the ConTeXt wiki for more details.

ConTeXt has some other advantages, but those are a matter of taste.

• I find that ConTeXt is more flexible compared to LaTeX when it comes to defining new layouts and document styles.
• You can use Metapost to draw ornaments on a page. See the Metafun manual for details. Similar ornaments
• ConTeXt can directly parse XML and generate XML/XHTML output from a TeX file.

Other points to keep in mind if starting with ConTeXt.

• Not as extensively documented as LaTeX. ConTeXt has a lot of documentation: manuals, books (same as the corresponding manuals, but available in bound form), and a wiki; but it is still small compared to the huge documentation available for LaTeX.

• Comparatively smaller user-base (but an active mailing list)

• Not as well support by other tools as LaTeX.

• Although I'm a XeLaTeX user and memoir fanboy, I empathise deeply with this answer. If I were starting today, I might well consider the ConTeXt path... I don't really have regrets, but I don't have the time to move to ConTeXt, either. – Brent.Longborough Jan 29 '12 at 8:11
• Thanks for this suggestion. After my post and the extensive replies, I still remain in doubt about what I will be using, but after this answer I will also consider ConTeXt. It sounds like a viable option! But I'll be checking out several, as changing does not appear to be too difficult. Could not mark two answers, but the info is highly appreciated. – User402841 Jan 30 '12 at 13:38

Don't forget why LuaTeX is called LuaTeX. Not because its Open Type Font support, but its use of the Lua scripting language. Lua is a powerful and very easy(!) to learn scripting language. It is possible to read external data or text files, do data calculations/modifications and format any LaTeX string or environment you need. And all this during one(!!) latex run. No need to execute external scripts and copy the resulting file to the latex project folder every time the external data changes. Every time you run latex you use the latest external data. It is simple to set up a project which generates automatically and repetitively reports when you or a user wants. And where your latex project is there is your Lua environment and there are your Lua scripts. No need to install additionally software to run the scripts on every computer on which you use LaTeX. Here you can see how easy it is: https://tex.stackexchange.com/a/41499/10570 . I like LuaLaTeX very much, because I can use LaTeX not only for typesetting, I can use it for conditional data generation too. And it is so easy!

I visualize using TeX mostly for business reports, memos, and investigations.

Either pdfLaTeX or XeLaTeX will be fine. If you are on Windows and there is a Company standard for using certain fonts you will be better off with XeLaTeX, otherwise I would recommend you start from pdfLaTeX as there is much more information and tutorials about it. Most documents will run well on both with minor changes.

• This post seems a bit confusing---you might want to say "pdfLaTeX` instead of "LaTeX" as every TeX engine we are talking about is using the LaTeX macro package. – Sharpie Jan 29 '12 at 5:32
• @Sharpie Thanks, I changed the answer as you suggested. – Yiannis Lazarides Jan 29 '12 at 5:49

I would avoid using Context. I used it for the last 8 years. In the beginning the main attraction was, that you could simplify your document, and style it with some setup. But as the requirements grew, it was a real struggle to find the correct setup and values. The different setup commands are non intuitive and some of them are just not documented.

Mentioning documentation, most is outdated (documents from 2005, 9 years old, are still used as reference). Also math font support is problematic. Some math symbols are just not defined. You can email the Context mailing list, and ask for help, but my impression is that the Context developers think, you are a Tex guru. It is not meant for novice users. Also as a lot of users will do math typesetting, I would avoid Context altogether. My impresssion is that the Context team (small team) is not math orientated, as i.e some of symbols i.e. the integral symbols are just plain wrongly spaced, or some math symbols are just missing.

The answers given to specific general problems is well intended, but not structured. The solutions given will not end up in any of the releases or even documented. You just have to consult the mailing list and hope you find an suitable answer. Or the general suggestion is, is to upgrade to the latest beta. Which certainly introduce more unstability or new syntax or configuration for common Context commands. Or well documented Context commands just stop working without warning and/or output.

Also font support is a nightmare, basic font switching, required you to understand the concept of typescripts. I challenge you as a beginner to learn and understand them. I tried and failed.

As I have recently tried to recompile my old Context documents, I was faced with lots of errors (either Tex, Context), really I am not sure where the cause lies. I did not bother to ask the mailing list anymore, as the answers given, involves you to take some Tex macros to implement, and hope the next Context beta release, just does not break the macro or vice versa. Or to google and find your own questions from 2006 with no solid follow up in the new Context releases. It's still after 2006 not production ready, it seems the Context team, think, well we have a new release, let's put it onto the Web and see where it fails.

You are just a tester for their code, your 1 month Context document is not sure to compile as you as an end user have no safe guard or base line to check your Context environment is stable. Your safe guard is to visually check your PDF document or as I did, write a Context test script and run it after each upgrade and check the output for defects.

As a final comment, I am thinking of switching back to latex, xelatex or some other tex/pdftex engine. I am sure it will take some time to convert, but I am sure that I will be confident that my document will compile and will produce the desired output.

Right now I see no reason for anyone without specific requirements to use pdftex over xelatex, for the simple reason that xelatex simply, without fuss supports all of the truetype and opentype fonts that you have, and it relieves you from needing to research macros for unusual symbols (which happens in business use more than you may think).

I think it depends on what your intention is. LuaTeX is -- compared with pdflatex -- still under development, I probably wouldn't use it for typesetting my PhD thesis. If you really need it's features (see the nice talk of Arno Trautmann "chickenize"), okay, but for everyday stuff there is no need to dump pdftex.

• Uwe you are right LuaTex is still under development, but on the website of LuaTex it is written that since version 0.7 LuaTex is a stable version, suitable for production. This year LuaTex ends its beta and is becoming version 1.0. So I think there is no need to wait to use LuaTex. – Holle Jan 29 '12 at 10:30
• I call that FUD: IMHO LuaTeX is stable enough for everyday use. And the bugs left won't be found if it isn't used. – Martin Schröder Jan 29 '12 at 15:13
• I think that a PhD thesis is the best place to test luatex (after all, you don't have to share your tex file with others). I used luatex for typesetting my thesis in 2008 and it worked perfectly fine then. These days, I use luatex for almost all my documents (both with LaTeX and ConTeXt), and haven't had any major troubles. – Aditya Jan 29 '12 at 18:41