30

ConTeXt has a number of advantages over LaTeX. But for some reason people prefer second one.

  1. ConTeXt can generate epub, pdf, XHTML and xml while LaTeX can only generate pdf and dvi. [1]
  2. ConTeXt provides third-party font support while pdflatex doesn't.
  3. ConTeXt provides more control over document formatting and style.
  4. ConTeXt supports MathMl natively.
  5. ConTeXt is monolithic and mostly you don't need packages and modules in ConTeXt. [1]
  6. ConTeXt error messages are easier to understand (at least in my opinion).
  7. ConTeXt has better MetaPost integration.
  8. ConTeXt has native SVG support.
  9. ConTeXt can be used to work with spreadsheets.
  10. ConTeXt is unified. It has only one implementation and you don't need to think about comparability with other implementations.
14
  • 16
    I suspect this is going to be at least partly opinion-based; for example 'ConTeXt is monolithic and mostly you don't need packages ' might be seen either as a good or a bad thing (or somewhere middling and neutral) depending on your view.
    – Joseph Wright
    May 22, 2023 at 19:55
  • 2
    I'm wondering what you mean in point (10) - there's also only one LaTeX implementation (cf. something like C)
    – Joseph Wright
    May 22, 2023 at 19:56
  • 2
    As a relative newbie to TeX and friends, I started with LaTeX as: 1) ConTeXt and LaTeX are both relatively steep learning curves, so better to pick one until confident. 2) Most journals provide only LaTeX templates not ConTeXt (though some don't do either). 3) memoir/article is good enough for my needs so far
    – JamesT
    May 22, 2023 at 20:05
  • 15
    One reason might be based on what publishers can handle. If an article prepared with ConTeXt is accepted (on the basis of intellectual content, without knowing how it was prepared), it will be rekeyed, with all the possibilities of something going wrong. On the other hand, if said article is prepared with the publisher's package, publication will be faster and there will be fewer possibilities for things going wrong. May 22, 2023 at 20:11
  • 4
    Very very related: State the Problem before Describing the Solution, a classic that IMHO should be mandatory reading, as it really helps dealing with Blockchain Technology-, Cryptocurrency-, Tokens-, AI solutions to social Problems-, and all other kinds of Miracle Cure-Salesmen you encounter these days. You list things that ConTeXt does (supposedly) better than LaTeX. Whose problems are these aspects really solving? May 23, 2023 at 10:55

3 Answers 3

51

Most people learn LaTeX for one of two reasons:

  1. They need to type math.
  2. Their supervisor/journal editor/professor/etc. told them they had to use it.

The disconnect here is that most TeX enthusiasts use it for a different two reasons:

  1. Easily extendable and automatable (macros, packages, etc.).
  2. High output quality.

Everything in your list is an obvious benefit for an enthusiast, but let's look at it from the perspective of a TeX novice:

  1. ConTeXt can generate epub, pdf, XHTML and xml while LaTeX can only generate pdf and dvi.

What is XHMTL and EPUB? I'm able to print and email a PDF and that's what the journal/my professor asks for.

  1. ConTeXt provides third-party font support while pdflatex doesn't.
  • What's a font?
  • I just do \usepackage{tgtermes}
  • fontspec
  1. ConTeXt provides more control over document formatting and style.

This is all too confusing, why can't I use the document class from my publisher/university?

  1. ConTeXt supports MathMl natively.

What is MathML?

  1. ConTeXt is monolithic and mostly you don't need packages and modules in ConTeXt.

What's a package? I just this template I copied from the internet/the document class from my publisher/university.

  1. ConTeXt error messages are easier to understand (at least in my opinion).

I really can't agree with you here. In my experience, ConTeXt has way worse error messages. The error experience is much better though since the compiler points to the exact line that was broken and stops on the first error.

  1. ConTeXt has better MetaPost integration.

What is MetaPost?

  1. ConTeXt has native SVG support.

If I need to include an SVG, I just take a picture with my phone, email it to myself, and include that in the document.

  1. ConTeXt can be used to work with spreadsheets.

Cool feature, but too complicated for me to figure out.

  1. ConTeXt is unified. It has only one implementation and you don't need to think about comparability with other implementations.

So is LaTeX: Overleaf is the only thing that exists.


Another key point is inertia. LaTeX has been around since 1983, but ConTeXt has only been public until 1996, but didn't really get any users until 2000. LaTeX had a 20 year head-start here, so anyone learning a TeX format in that time would have probably learned LaTeX. Then anyone learning TeX after that would end up learning it from someone who only knew LaTeX, and the cycle repeats.

Documentation is also important. You can Google or look on TeX.se for any LaTeX questions/problems, but you don't really get many results for ConTeXt. Plus, there have always been tons of good LaTeX introductory manuals, but there hasn't been any introductory ConTeXt manual until quite recently (Not so short intro…). And even then, LaTeX has tons of material for the intermediate user, but there's almost nothing for ConTeXt.

ConTeXt has the best manuals of all the formats for an advanced user (CLD, Metafun, LuaMetaTeX, Low Level TeX, etc.). And the ConTeXt source is also really easy to read, unlike most of the LaTeX kernel and packages. But neither of these are helpful with attracting new users.


For context (ha!), I really like ConTeXt. I use it for nearly all of my documents, I have 100+ posts on the ConTeXt mailing list, I've published a package for it (with a manual written with ConTeXt), I've helped with the integration of LMTX into TeX Live, etc.

I'm also an undergraduate student, so I see a lot of new users to TeX. Often I'm the first one to teach someone TeX. Whenever I'm working with someone else, I always use LaTeX. I feel a little weird simultaneously complaining that ConTeXt has no users and teaching new users LaTeX, but it would feel irresponsible for me to teach them ConTeXt due to the lack of documentation and users.

10
  • 13
    In my field (linguistics) we use LaTeX because there are specialized packages specifically designed for doing things we do. It's unlikely that this functionality will be written into "monolithic" ConTeXt, nor should it be, but then the price of admission for me to use it would be having access to equivalent functionality. And since nobody has yet written equivalent modules for ConTeXt, none of us is likely to switch. (As an aside, I doubt that many professors force their students to use a particular method of document preparation. I encourage mine to use LaTeX but would never require it.)
    – Alan Munn
    May 22, 2023 at 22:23
  • 9
    @TSFan linguistic is more that writing a few IPA symbols. May 23, 2023 at 10:48
  • 7
    @TSFan see, that's a very clear "it's good enough for me". How do you enter phonetic notation? Linguistic heritage diagrams? "It's not hard", you'll say, "ConTeXt is easily extensible". Well, the linguists use LaTeX and \usepackage{theirtools}, so your "it works for my purposes" statement is meaningless to them (if it doesn't even backfire for illustrating how narrow-perspective the reality of ConTeXt compared to LaTeX currently is!). May 23, 2023 at 10:49
  • 15
    @soundwave I'm describing what I've seen beginners do, not what is correct. And I've unfortunately seen pictures of screens far more often than proper screenshots. May 23, 2023 at 11:03
  • 5
    @MaxChernoff --- From one of my marking schemes: "Overall presentation (5 marks) ... Work that includes photographs of the computer screen will automatically receive 0/5 under this heading." May 23, 2023 at 11:35
36
  1. ConTeXt can generate epub, pdf, XHTML and xml while LaTeX can only generate pdf and dvi. [1]

Many people generate epub or html from latex, using tools such as latexml or make4ht. The fact that these wholly or partly use non-tex systems to parse the document is mostly an implementaton detail.

  1. ConTeXt provides third-party font support while pdflatex doesn't.

lualatex can use the same fonts as context.

  1. ConTeXt provides more control over document formatting and style.

Possibly. It depends what you are used to I suspect.

  1. ConTeXt supports MathMl natively.

Same answer as 1.

  1. ConTeXt is monolithic and mostly you don't need packages and modules in ConTeXt. [1]

This can be a disadvantage if your document needs that functionality

  1. ConTeXt error messages are easier to understand (at least in my opinion).

People assume they won't make errors so are unlikely to choose based on this

  1. ConTeXt has better MetaPost integration.

yes although integrated metapost is available in lualatex, more people prefer (or know about) tikz

  1. ConTeXt has native SVG support.

Same answer as 1.

  1. ConTeXt can be used to work with spreadsheets.

Not surprising if better, I don't really know that functionality

  1. ConTeXt is unified. It has only one implementation and you don't need to think about comparability with other implementations.

You can restrict your document to lualatex and not worry about other engines if you wish.


But probably none of the above is the main reason. LaTeX is not only a typesetting system, it forms a language of communication. The latex community is much much larger. Help on sites such as this is far easier to obtain for latex, Journals and manuscript archives are far more likely to accept latex.

This means the bar for a format like context or a non-tex system such as Typst is very high. Just being better is not enough, it needs to be so much better it forces a community shift to a new language for technical documents.

8
  • 1
    Context is practically monolithic, but this does not mean that it does not have modularity. A context has modules, environments, and packages like LaTeX.
    – TSFan
    May 22, 2023 at 22:47
  • 7
    @TSFan sure but there are literally thousands of latex packages, for chess or chemistry or linguistics or scratch or ... with context you are far less likely to find a "close" package you can adapt. latex packages are a mixed blessing, but you did not ask which is better, you asked why more people (almost all tex users, essentially) use latex and so perception is important, and the (not completely unjustified) perception is that latex is more likely to have a existing pakage. May 22, 2023 at 23:05
  • 2
    Since you bring up Typst: I think community support in github.com/typst/typst/discussions and their Discord server discord.gg/2uDybryKPe is good. As for journals, sure they have inertia but I hope they provide more options.
    – user202729
    May 23, 2023 at 15:35
  • typst is written in a language that more people can understand. I think this could give it a brighter future IF it garnered a critical community. IF david and a lot of the other core TeX community got behind it, it could offer a future. until then, it's a critical mass issue. we already have dozens of alternatives (itself a problem), all splintering across.
    – ivo Welch
    Apr 9 at 22:37
  • @ivoWelch the implementation language is not that relevant to most users I think, I have looked at typst a bit but haven't seen anything so far that would make me prefer it to latex, but if others use it that's fine, there doesn't need to be one system for everybody. Apr 9 at 22:41
8

Why don't people use LaTeX?

LaTeX has a number of advantages over Word. But for some reason people prefer second one... Why don't people use Linux? Linux has many advantages over Windows...

You see what I'm getting at? It's very hard for the objectively superior tool to win against the good enough tool that everybody uses already, especially so, if said good enough tool has been around forever and is the de-facto standard.

That said, LaTeX has quite a few issues and it shows that is very old, so I'd love it if there was some better alternative (and ConTeXt, which I never heard about before seems very interesting!) but we're running into a hen and egg issue here. Let's say I switch over to CenTeXt, but then what? If I want to publish my stuff, I have to translate it to Latex anyways, and if I leave academia, it's just another thing that I have to forget since I have to use Word again (shudder...).

Also, I guess https://xkcd.com/927/ applies.

2
  • 2
    Latex has many problems. Many people want to replace it. Typst, Sile, ConTeXt and many other projects are trying to replace LaTeX. The main problem of LaTeX is poor support for SVG, and poor compatibility of packages with each other. It pisses me off that I have to convert SVG to PDF if I want to insert it in document. It pisses me off that I can't overlay one text on another and change the background color.
    – TSFan
    May 29, 2023 at 10:10
  • 1
    @TSFan I never had a need for direct SVG support. An SVG has to be converted anyway if you want to include it in a PDF as PDF doesn't handle SVG. And so I prefered to spent my time to write chess packages (which context doesn't have) and work on tagging. But nothing hinders you to extend the SVG support in LaTeX. You could e.g. look at existing implementations and port them, you only need the the will and the time to do it. (I have no idea what you mean with the overlay and the background color, I never missed anything here). May 31, 2023 at 15:26

You must log in to answer this question.

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