Ever since learning Vim, I've felt slow going in anything else. Lately I've been writing my notes and other small documents in Markdown using Vim. I've decided to to take it a step further by learning a TeX formatting language.

I've read that ConTeXt is more "Batteries Included", with a consistent design unlike LaTeX which requires packages with a not so consistent design. LaTeX however, has many packages and tools, but then again LaTeX has many conflicts between packages. That is my understand between them so please correct me if I'm wrong.

I'm kind of leaning towards ConTeXt because I also read on their site that it's easier to make my own design, in LaTeX I need to use one made by someone else because its so complicated. But I'm learning web design and development so if its really not much harder than CSS let me know. I'm also not sure if ConTeXt is good for the long run due to the lack of good documentation, and books.

An HTML converter could be very useful on couple projects in the the not so near future (a book with a PDF and Web version), and LaTeX looks to be in the lead here. ConTeXt converts to XML which means I will need to learn XSLT and more advanced stuff of XHTML to use. Since some LaTeX packages that I may or may not want to use might conflict with HTML conversion tools, I may not be able to covert to HTML very easily anyway.

At this moment I'm very much undecided. It appears as if ConTeXt might be less of a headache to work with. LaTeX on the other hand has more learning material and tools that could let me do more.

So, as some one with experience, what do you think I would be best for me, or any other beginner, who has no experience in TeX whatsoever?

Also, if you recommend Latex, what back-end should I use? XeTeX, LuaTeX, pdfTeX? What packages should I use that are known to work well together?


2 Answers 2


You mentioned already some aspects in your question, so I try to give you some information about it, but also take the information from the linked answers here on TeX.SE provided by the comments.

ConTeXt is a system in a running development (due to the "version" MkIV). As you said, ConTeXt has many things included by default, but there's not that many information out there to learn ConTeXt as a starter.

LaTeX is probably most evolved and common systems upon TeX. It is stable, has a huge number of packages, to provide nearly all functionallity you will need. I'm using LaTeX for more than five years and never really had problems with incompatibilities of packages. There are some things to mention (e.g. load the hyperref package last) but these are few in daily work. And—as you mentioned—most literature for starters (and also advanced users) is about LaTeX and it's packages.

XeTeX is kind of an extension of pdfTeX (an engine producing PDF directly which is not possible with the original TeX). It supports Unicode and also OpenType-fonts. XeTeX is also an engine in development.

LuaTeX is designated as successor of pdfTeX. It combines the pdfTeX engine with the Lua language. Also Unicode and OpenType-fonts are supported. LuaTeX is—by now—in a beta stadium. There is a heavy development around it, as it is also the basis of ConTeXt MkIV. As it is a beta version there are changes with each versions (so the latest version 0.75 uses Lua 5.2 which is not compatible to Lua 5.1 in LuaTeX 0.72). So be aware that there can be changes in the future, that cause serios trouble.

Finally it is your decision which one you learn, as you start. I would recommend LaTeX as most information and literature is around this. As mentioned in @Alexander's comment, LuaTeX is a great engine, if you want to use some of it's features. But in the end it is your decision! Every user has his own experiences and things he likes and dislikes. If you have some amount of time, have a look at both big styles—LaTeX and ConTeXt—and you will see which one works better for you.

I hope this is helping you a little in your decision.

  • 1
    Great answer! I feel convinced now that Latex is more ideal for starting out in TeX. You mentioned that LuaTeX updates have tendency to cause issue with backwards compatibility, is this an issue XeTeX also? Apr 2, 2013 at 19:05
  • 1
    Some time ago the development of XeTeX interrupted. I'm not sure, if there is an active development right now. The most problems with LuaTeX will happen to package authors as their packages will not work. I hope that these are patched by the time, LuaTeX 0.75 will be published with the main distributions, so the "normal user" will not feel the change. And thanks for the complement, I tried to do my best to make the answer concise. Apr 2, 2013 at 19:10
  • 2
    @CyberOPS If you don't need all OpenType fonts that are available (and you can stay with some like: Charter, Minion Pro, Libertine, …) and don't really need Unicode, I think that LaTeX is enough for you.
    – Manuel
    Apr 2, 2013 at 20:11
  • 2
    +1 for "have a look at both LaTeX and ConTeXt and you will see which one works better for you". This is really a subjective choice, as feature-wise there is very little difference between the two formats.
    – Aditya
    Apr 2, 2013 at 21:19
  • 3
    When you talk about scarcity of ConTeXt documentation you probably refer to the lack of books about ConTeXt you can buy in a bookshop. But the documentation available online is abundant and definitely sufficient for even very complicated typesetting jobs. Not to mention excellent support on ConTeXt discussion list and devoted community of users who are there to help you.
    – helcim
    Apr 4, 2013 at 8:21

I am maybe biased but after switching to ConTeXt I have never had the need to go back to LaTeX. So even if you want to go for more popular solution do try ConTeXt as well. You get the same structural approach to document typesetting plus much more user-friendly typographic interface (mind you, this is software written for professionals so you have to know something about typography first). If you seriously think about generating HTML none of the TeX solutions can be recommended without restrictions IMHO. The way to go is to prepare your source in XML or any other sort of markup you prefer, and then have it converted to html and TeX style of your choice. In case of ConTeXt you can use XML directly, of course you need to tell ConTeXt how to typeset XML elements first.

  • 1
    Yes, I do intend to learn ConTeXt. However, searching for material to begin with ConTeXt may not be as easy. The first link I found, hardly any chapters go to an existing page. At this time I find LaTeX more suitable for beginners. For anybody interested in learning ConTeXt, the documentation and this book Beginners Tutorial: ConTeXt Looks like a good place to start. Apr 5, 2013 at 15:30

Not the answer you're looking for? Browse other questions tagged .