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.

  • Carighan Maconar@lemmy.world
    link
    fedilink
    arrow-up
    11
    ·
    1 month ago

    This is smart. As pi is a non-repeating, you can even at some point start showing just the “current” digits if it ever gets too much, and will always be able to find a finite length of digits that does not match a previously user version number.

    • vithigar@lemmy.ca
      link
      fedilink
      arrow-up
      12
      arrow-down
      1
      ·
      1 month ago

      Not necessarily. Non-repeating doesn’t mean the are no repeated sections. For example, in the first hundred million digits “1412” is found three times.

      • For practical purposes, it’s probably good enough. You could write a program to check whether it’s non-repeating up to N digits, so just set N high enough that it will last you for a few thousand releases…