3 ms·
It's amazing how many different and dissimilar components go into a TeX distribution like TeX Live: - At the base, there is Donald Knuth's program `tex`, itsel
by svat 9y ago
It's amazing how many different and dissimilar components go into a TeX distribution like TeX Live:
- At the base, there is Donald Knuth's program `tex`, itself written in a strange language (WEB) that is essentially an ad-hoc macro-expansion system (not used by many others, and not even by Knuth today, who prefers CWEB), and compiles (via `tangle`) to a dialect/version of Pascal (“Pascal-H”) for which a compiler hasn't existed for years. [It also "compiles" (via `weave`) to the printed book TeX: The Program]
- Then there is LaTeX, an elaborate set of macros written originally by Leslie Lamport (another Turing award winner) and later by a team, to be interpreted by the TeX program, which was never designed by its original creator for such elaborate programming.
- There are entire new programs (aka TeX engines) like pdfTeX and XeTeX, created by editing the original `tex.web` in different directions.
- There are the binaries of all these programs, compiled using `web2c`, a program written solely for converting all these WEB programs written in (basically) Pascal into C code, which is neither an arbitrary Pascal-to-C converter nor even an arbitrary WEB-to-C converter.
- There is LuaTeX, a manual rewrite of TeX in C, embedding a Lua interpreter and adding many hooks and extensions.
- There are thousands of macro packages written by thousands of people of varying levels of skill and foresight, on top of TeX, LaTeX, and other macro packages themselves: essentially everything on CTAN (which was inspiration for Perl's CPAN, and ultimately many languages' package repositories like Python's PyPI etc.)
And all this without even mentioning ConTEXt, Metafont, MetaPost, BibTeX, Kpathsea, various assorted utilities, graphics drivers…
- mseri 9y agoA now also the recently announced tectonic [0]. I also remember watching a talk about a clojure re-implementation but I think I never saw it released anywhere. [0]: https://tectonic-typesetting.github.io/en-US/ https://tectonic-typesetting.github.io/en-US/
- ygaf 9y agoAmazing is a friendly word for it.
- styfle 9y agoThis reminds me of Markdown before the CommonMark standard was created. Actually...even with the standard, there are so many derivatives.