This is the literate source for TeX, what LaTeX is based on: https://tug.ctan.org/systems/knuth/dist/tex/tex.web

These are just comments for the WEB literate file. Here’s the first ‘funny’ thing you’ll see in the source file:

% Version 3.0 fixed unusual displays; was more \output robust (March 1990).
% Version 3.1 fixed nullfont, disabled \write{\the\prevgraf} (September 1990).
% Version 3.14 fixed unprintable font names and corrected typos (March 1991).
% Version 3.141 more of same; reconstituted ligatures better (March 1992).
% Version 3.1415 preserved nonexplicit kerns, tidied up (February 1993).
% Version 3.14159 allowed fontmemsize to change; bulletproofing (March 1995).
% Version 3.141592 fixed \xleaders, glueset, weird alignments (December 2002).
% Version 3.1415926 was a general cleanup with minor fixes (February 2008).
% Version 3.14159265 was similar (January 2014).
% Version 3.141592653 was similar but more extensive (January 2021).

And it’s not even that! The source code quotes the Good Book! Wanna see? Here’s the literate source, as weave’d to PDF by me:

https://drive.google.com/file/d/1AmWx0qgorW3zviXXBefVXbRDop8a3app/view?usp=sharing

So how does this work?

  • You weave the literate source into a TeX file, then use many of the TeX engines to compile it to PDF, PS, DVI, etc
  • You tangle the literate soure into a .p file, a Pascal-H file which sadly no compiler exists for! A whole host of tools exist to turn this Pascal-H code into compilable code, for example, web2c, which is the basis of TeXLive. Now, there are rewrites of TeX, such as LuaTeX and MikTeX.

So what is LaTeX? It’s a ‘format’ for TeX. You might have used it in high school to write a paper if you were a super-nerd like me, or you may still use it to write scholarly papers. I’m currently using LaTeX to write several papers, write is doing heavy lifting here, these are just ideas (one of them is a review of LISP; the other, a shell with contracts similar to SHILL).

Enjoy.

  • Aedis@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    30 days ago

    I used to work in a really big project written in C and C++ (and even some asm in there) and the build was non-deterministic. However the funky part was there was a C file in all of this that had a couple dozen of commented nee lines with a line at the top saying: ‘don’t remove this or the build will fail’ That remains my favorite code comment to this day.