## Welcome to “All Things `WEB`”

Here you find the documented source code of all major `WEB` and `CWEB` programs in the `HINT` format1 that can be viewed with the `hintview` program, available from the HINT homepage. The `NAMED` entries represent the unmodified base sources as written by their respective authors, the attached `chg` links point to only the changed sections (or modules) as applied for release in the TeX Live distribution, so you may want to study these pairs together. Care has been taken to keep the section numbering intact.

Although not all programs presented here are written or maintained by Donald Knuth, it is more convenient for everything to be collected in one place for reading and searching. And they all stem from the system that Knuth created.

Note that all `WEB` programs are mogrified from Pascal code to C code before compilation, so further modifications and amendments will occur for the real thing, i.e., the production of the executable `WEB` programs. (The `CWEB` programs do not require these extra modifications, they get linked directly to the external runtime environment.)

If you believe to have found anything that remains technically, historically, typographically, or politically incorrect in any of these files, please feel free to report bugs in TeX and friends or contact the maintainer of this collection directly.

## Canonical Knuthian WEB programs

- `etc/` [ `VFtoVP`+`chg` `VPtoVF`+`chg` ]

- `mf/` [ `Metafont`+`chg` `TRAPMAN` ]

- `mfware/` [ `GFtype`+`chg` `GFtoPK`+`chg` `GFtoDVI`+`chg` `MFT`+`chg` ]

- `tex/` [ `GLUE` `TeX`+`chg` `TRIPMAN` ]

- `texware/` [ `POOLtype`+`chg` `TFtoPL`+`chg` `PLtoTF`+`chg` `DVItype`+`chg` ]

- `web/` [ `WEBMAN`+`chg` 2 `WEAVE`+`chg` `TANGLE`+`chg` `TWILL` 3 ]

## Complementary WEB programs by other authors

- `other/` [ `DVIcopy`+`chg` `PatGen`+`chg` `PKtoGF`+`chg` `PKtype`+`chg` ]

- `bibtex/` [ `BibTeX`+`chg` ]

- `pdftex/` [ `pdfTeX`+`chg` ]

- `xetex/` [ `XeTeX`+`chg` ]

## CWEB programs by Knuth et al.

- `cweb/` [ `CWEBMAN` `COMMON`+`chg` `CTANGLE`+`chg` `CWEAVE`+`chg`
  `CTWILL` 4 `REFSORT`+`chg` `TWINX`+`chg` ]

- `ctie/` [ `CTIE`+`chg` ]

- `tie/` [ `TIE`+`chg` ]

- `hitex/` [ `HiTeX` 5 ]

- `mp/` [ `MP` `MPOST` ]6

## Errata for “Computers & Typesetting” by Donald E. Knuth

- `errata/`

  - The Errors of TeX

  - The TeXbook, 1st printing

  - The TeXbook, 2nd printing

  - Computers & Typesetting, 15 June 1987

  - Computers & Typesetting, 20 February 1989

  - Computers & Typesetting, 30 September 1989

  - Computers & Typesetting, 31 December 1990

  - Computers & Typesetting, 15 March 1992

  - Computers & Typesetting, pre-Millennium ed.

  - The TeXbook, September 1996

  - Computers & Typesetting, 1st Millennium ed.

  - Computers & Typesetting, 2nd Millennium ed.

  - Computers & Typesetting, early 2014

  - Computers & Typesetting, 31 January 2021

## Happy C/WEB Programming!

1. With the exception of `XeTeX`, which is only available in PDF format for technical reasons.↩︎

2. The changed variant of the `WEB` manual contains additional material specific to the TeX Live distribution.↩︎

3. `TWILL` is presented here as a changed variant of `WEAVE`.↩︎

4. `CTWILL` is presented here in its own format with “mini-indexes” for every two consecutive pages.↩︎

5. `HiTeX` has received quite a few changes “behind the scenes” in order to present it in this collection; see project `web` for details.↩︎

6. `MP` and `MPOST` have received quite a few changes “behind the scenes” in order to present them in this collection; see project `mplibdir` for details.↩︎