3/6/2026 at 7:57:36 AM
ConTeXt often goes unmentioned in TeX threads.https://wiki.contextgarden.net/
It's a monolithic kernel with a relatively sane collection of "setup" macros that, by and large, can accomplish much of what LaTeX and its packages can do.
If you're curious about how to build TeX from scratch, have a look at my TeX.SE answer:
https://tex.stackexchange.com/a/576314/2148
I'd imagine making a FOSS port in Rust that has non-cryptic error messages wouldn't be a multi-year project using modern GPTs.
by thangalin
3/6/2026 at 10:55:57 PM
https://github.com/typst/typst is an interesting competitor to ConTeXt. It's not even TeX, but somehow I tried (and liked) it before I tried CoTeXt. TeX syntax is not something I ever enjoyed in LaTeX.How much more compatible with LaTeX is ConTeXt than typst? For example, is there tikz for ConTeXt?
by ilyagr
3/7/2026 at 8:47:55 AM
> TeX syntax is not something I ever enjoyed in LaTeXConTeXt is still TeX, but its syntax is very different from LaTeX's. Nearly every command takes an optional set of key–value arguments, and everything is integrated into the core, so the syntax is much more regular. Example:
%% Compile with "context <filename>.tex".
%%
%% ConTeXt is included in the default installation of TeX Live, so if you have
%% LaTeX installed, you probably already have ConTeXt installed too.
\setupcaptions[color=red]
\setuphead[section][color=blue]
\setupheader[color=green]
\definehighlight[emph][color=orange]
\setupTABLE[each][each][color=red, framecolor=green]
\starttext
\section{Introduction}
\startplacefigure[title={Caption.}]
\externalfigure[sys:///cow.pdf][width=2cm]
\stopplacefigure
Hello, world! \emph{This is emphasized text.}
\startTABLE[textcolor=red]
\setupTABLE[row][1][style=bold]
\NC[style=italic] Header 1 \NC Header 2 \NC Header 3 \NC\NR
\NC Cell 1 \NC Cell 2 \NC Cell 3 \NC\NR
\stopTABLE
\pagebreak
\section[
title={Alternate Syntax},
style=smallcaps,
]
\samplefile{knuth}
\startsection[title={This works too!}]
Some inline math: $x_{1, 2} = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$.
\stopsection
\stoptext
Output: https://www.maxchernoff.ca/files/context-example-1.webp https://www.maxchernoff.ca/files/context-example-2.webp> How much more compatible with LaTeX is ConTeXt than typst?
Most engine primitives (\hbox, \def, \relax, etc.) and Plain TeX macros (\quad, \nobreak, \bigskip) work in both LaTeX and ConTeXt, and the math syntax is almost identical between LaTeX and ConTeXt too. Otherwise, they don't share very much in common.
> For example, is there tikz for ConTeXt?
Sure, it's called TikZ :) Meaning that TikZ has native and full support for ConTeXt, so
\usemodule[tikz]
is all that you need to use it. Metafun [0] is ConTeXt's built-in alternative to TikZ, but you can use both in the same document if you want.[0]: https://www.pragma-ade.com/general/manuals/metafun-p.pdf
by gucci-on-fleek
3/8/2026 at 5:03:21 AM
Thanks for the useful info!by ilyagr
3/6/2026 at 8:38:07 AM
> ConTeXt often goes unmentioned in TeX threads.> It's a monolithic kernel with a relatively sane collection of "setup" macros that, by and large, can accomplish much of what LaTeX and its packages can do.
I don't know what constitutes "sane", but I literally just downloaded and installed it right now because you mentioned it, and it choked on a trivial hello world:
$ mtxrunjit --script context doc.tex
...
> tex error on line 1 in file doc.tex: ! Undefined control sequence
...
1 >> \documentclass{article}
2 \begin{document}Hello, world\end{document}
...which might explain why it goes unmentioned?I feel like this is gonna be a tougher sell than you expect. How the heck is a user expected to switch to ConTeXt?
by dataflow
3/6/2026 at 9:08:42 AM
You wrote a LaTeX document. ConTeXt does not claim to be compatible with LaTeX.You can find a "hello world" here: https://wiki.contextgarden.net/Document_layout_and_layers/Tu...
by mr_mitm
3/7/2026 at 7:28:28 AM
I get that it can't handle LaTeX, that's literally my entire point. It's no wonder it goes unmentioned in TeX threads. The statement that it "can accomplish much of what LaTeX and its packages can do" pushes a lot under the rug. If that was a sufficient painting of reality, you could've just dropped the mic with "Ubuntu can accomplish much of what Windows and its packages can do" back in 2010, or with "Windows RT can do can accomplish much of what Windows can do" back in 2012, etc.by dataflow
3/7/2026 at 8:14:35 AM
> I get that it can't handle LaTeX, that's literally my entire point. It's no wonder it goes unmentioned in TeX threads.LaTeX != TeX. If this were a LaTeX thread, then I would agree with your point that it would make less sense to bring up ConTeXt (although someone always mentions Typst in every LaTeX thread, which is essentially the same thing). But this is a thread about TeX Live, which includes ConTeXt (and a dozen other TeX formats and engines), so it seems completely fair to mention it here.
The entire point of ConTeXt is that it is different from (and incompatible with) LaTeX. So for users who like parts of LaTeX (its output quality, its math typesetting, its underlying box model) but dislike other parts (slow speed, package conflicts, confusing setup macros, not very modern), ConTeXt is often a good alternative. But most users have never even heard of it before, which is why I appreciate Dave mentioning it in discussions like these.
I personally think that LaTeX is the best choice for typical users [0], but HN readers are seldom typical, and are often the types of users whom I think would appreciate ConTeXt.
> you could've just dropped the mic with "Ubuntu can accomplish much of what Windows and its packages can do" back in 2010, or with "Windows RT can do can accomplish much of what Windows can do" back in 2012, etc.
Well I used to use Windows RT exclusively (and am still fond of it), now use Linux exclusively, and prefer ConTeXt over the other TeX formats, so all of these seem like good arguments to me :).
by gucci-on-fleek
3/6/2026 at 10:03:04 AM
LaTeX is not ConTeXt.Both use TeX as their layout engine. Both are different type of markup languages that live on top of TeX.
by noosphr
3/6/2026 at 9:32:05 AM
How did you install ConTeXt? Because "mtxrunjit" shouldn't be included in any modern versions.by gucci-on-fleek
3/7/2026 at 7:25:07 AM
What do you consider "modern"? Is a year old not modern? Am I supposed to be seeing something else? $ pacman -Ss context | grep TeX -B1
extra/haskell-skylighting-format-context 0.1.0.2-163
ConTeXt formatter for skylighting syntax highlighting library
--
extra/texlive-context 2025.2-1 (texlive)
TeX Live - ConTeXt and packages
extra/texlive-latexextra 2025.2-1 (texlive)
TeX Live - LaTeX additional packages
$ sudo pacman -S --needed texlive-context
...
$ pacman -Qi texlive-context
Name : texlive-context
Version : 2025.2-1
...
Build Date : Sat 22 Mar 2025 07:15:15 PM EDT
by dataflow
3/7/2026 at 7:42:39 AM
Ah sorry, my bad. I thought that "mtxrunjit" was removed longer ago, but I only removed it from TeX Live in June 2025. Regardless, you should use the "context" command to compile files with ConTeXt. Example: $ cat <<EOF > hello-world.tex
\starttext
Hello, world!
\stoptext
EOF
$ context hello-world.tex
[...]
system > ConTeXt ver: 2026.02.19 11:49 LMTX fmt: 2026.3.7 int: english/english
[...]
system | total runtime: 0.632 seconds of 0.768 seconds
$ pdftotext hello-world.pdf - | tail -1
Hello, world!
by gucci-on-fleek
3/6/2026 at 8:59:15 AM
I imagine making a buggy and unmaintainable version could be done quickly, sure, if you don't mind your documents being killed by a thousand small typesetting cuts. TeX is incredibly complicated for good reasons, people should read Knuth's book.The reason TeX is written in a 1984 dialect of Pascal is that the typesetting bugs have been solved in a completely specified language; it is much easier to write a transpiler for Pascal->C than to rewrite TeX. Asking an LLM to rewrite it in the language-du-jour is a huge cost for very little benefit.
BTW it has been so depressing in the last few months to see LLM-generated projects make claims about performance/accuracy, but there is no benchmarking code on Github and the "thousands of tests" are all useless happy paths. I am sure we will see some grifter claim that Claude rewrote TeX and I am sure dozens of credulous HN users will take it seriously. But we won't see a useful rewrite. It'll be resume-oriented slop like that dishonest Mathematica-in-Rust project we saw last week.
by Copyrightest
3/6/2026 at 4:36:59 PM
> it is much easier to write a transpiler for Pascal->C than to rewrite TeX. Asking an LLM to rewrite it in the language-du-jour ...I thought that the combination of the Pascal and Java versions[1] of TeX would be sufficient guidance to produce another language/implementation.
> is a huge cost for very little benefit
A greenfield Java implementation with an MIT license would have been useful[2] for rendering TeX inside of my desktop Markdown editor[3]. Instead, I had to rename all the Java source files to abide by the NTSPL license terms (or GPLv2, which is viral).
[1]: https://en.wikipedia.org/wiki/New_Typesetting_System
[2]: https://gitlab.com/DaveJarvis/KeenType/-/blob/main/LICENSE.t...
by thangalin
3/7/2026 at 9:05:40 AM
> A greenfield Java implementation with an MIT license would have been useful[2] for rendering TeX inside of my desktop Markdown editor[3]. Instead, I had to rename all the Java source files to abide by the NTSPL license terms (or GPLv2, which is viral).The source files make it look like DANTE owns the copyright, so you could try asking them to relicence it. Both Philip Taylor and Hans Hagen were involved in the leadership of NTS, and both are still active, so if they are okay with it, then DANTE would hopefully agree to relicence it.
by gucci-on-fleek
3/7/2026 at 6:30:08 PM
> then DANTE would hopefully agree to relicence it.In Feb 2023, when I emailed Hans about changing licenses, he wrote back:
> We decided to stick with the GNU (GLP) license. It's not like anyone is going to check in detail what happens with NTS after all these years. We just wanted to add the option for GPLv2. We're not going into endless debates about licences, which are always a sensitive topic in the tex community.
by thangalin
3/7/2026 at 10:20:50 PM
I guess it's not terribly surprising that Hans wanted to avoid talking about licenses :)by gucci-on-fleek