summaryrefslogtreecommitdiff
path: root/web/pwebmac/index.md
blob: 1631382506b806e83d6d20b883e9928ad69c9474 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
---
title: C/WEB programs in “\TeX\ Live 2021”
colorlinks: true
filecolor: blue
urlcolor: blue
---
\raggedright
\vspace{-2\baselineskip}

## Introduction

Welcome to “All Things `WEB`” in “\TeX\ Live.”

Here you find the documented source code of all major `WEB` and `CWEB` programs
in readable format.  The “named” entries represent the unmodified base sources,
the attached “`chg`” links point to “only the changed sections (or modules),”
so you may want to study these pairs in parallel.  Care has been taken to keep
the section numbers for the main parts intact.

Although not all the programs 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, please feel free to
[report bugs in \TeX\ and friends](https://tug.org/texmfbug/).

## Canonical Knuthian WEB programs

* `etc/` \[
  [`VFtoVP`](etc/vftovp.pdf)\ ~[`chg`](etc/vftovp-changes.pdf)~ \|
  [`VPtoVF`](etc/vptovf.pdf)\ ~[`chg`](etc/vptovf-changes.pdf)~ \]
* `mf/` \[
  [`Metafont`](mf/mf.pdf)\ ~[`chg`](mf/mf-changes.pdf)~ \|
  [`TRAPMAN`](mf/trapman.pdf) \]
* `mfware/` \[
  [`GFtype`](mfware/gftype.pdf)\ ~[`chg`](mfware/gftype-changes.pdf)~ \|
  [`GFtoPK`](mfware/gftopk.pdf)\ ~[`chg`](mfware/gftopk-changes.pdf)~ \|
  [`GFtoDVI`](mfware/gftodvi.pdf)\ ~[`chg`](mfware/gftodvi-changes.pdf)~ \|
  [`MFT`](mfware/mft.pdf)\ ~[`chg`](mfware/mft-changes.pdf)~ \]
* `tex/` \[
  [`GLUE`](tex/glue.pdf) \|
  [`TeX`](tex/tex.pdf)\ ~[`chg`](tex/tex-changes.pdf)~ \|
  [`TRIPMAN`](tex/tripman.pdf) \]
* `texware/` \[
  [`POOLtype`](texware/pooltype.pdf)\ ~[`chg`](texware/pooltype-changes.pdf)~ \|
  [`TFtoPL`](texware/tftopl.pdf)\ ~[`chg`](texware/tftopl-changes.pdf)~ \|
  [`PLtoTF`](texware/pltotf.pdf)\ ~[`chg`](texware/pltotf-changes.pdf)~ \|
  [`DVItype`](texware/dvitype.pdf)\ ~[`chg`](texware/dvitype-changes.pdf)~ \]
* `web/` \[
  [`WEBMAN`](web/webman.pdf) \|
  [`WEAVE`](web/weave.pdf)\ ~[`chg`](web/weave-changes.pdf)~ \|
  [`TANGLE`](web/tangle.pdf)\ ~[`chg`](web/tangle-changes.pdf)~ \]

## Complementary WEB programs

* `other/` \[
  [`DVIcopy`](other/dvicopy.pdf)\ ~[`chg`](other/dvicopy-changes.pdf)~ \|
  [`PatGen`](other/patgen.pdf)\ ~[`chg`](other/patgen-changes.pdf)~ \|
  [`PKtoGF`](other/pktogf.pdf)\ ~[`chg`](other/pktogf-changes.pdf)~ \|
  [`PKtype`](other/pktype.pdf)\ ~[`chg`](other/pktype-changes.pdf)~ \]
* `bibtex/` \[ [`BibTeX`](bibtex/bibtex.pdf)\ ~[`chg`](bibtex/bibtex-changes.pdf)~ \]
* `pdftex/` \[ [`pdfTeX`](pdftex/pdftex.pdf)\ ~[`chg`](pdftex/pdftex-changes.pdf)~ \]
* `xetex/` \[ [`XeTeX`](xetex/xetex.pdf)\ ~[`chg`](xetex/xetex-changes.pdf)~ \]

## CWEB programs

* `cweb/` \[
  [`CWEBMAN`](cweb/cwebman.pdf) \|
  [`COMMON`](cweb/common.pdf)\ ~[`chg`](cweb/common-changes.pdf)~ \|
  [`CTANGLE`](cweb/ctangle.pdf)\ ~[`chg`](cweb/ctangle-changes.pdf)~ \|
  [`CWEAVE`](cweb/cweave.pdf)\ ~[`chg`](cweb/cweave-changes.pdf)~ \|\
  [`CTWILL`](cweb/ctwill.pdf) \|
  [`REFSORT`](cweb/refsort.pdf)\ ~[`chg`](cweb/refsort-changes.pdf)~ \|
  [`TWINX`](cweb/twinx.pdf)\ ~[`chg`](cweb/twinx-changes.pdf)~ \]
* `ctie/` \[ [`CTIE`](ctie/ctie.pdf)\ ~[`chg`](ctie/ctie-changes.pdf)~ \]
* `tie/` \[ [`TIE`](tie/tie.pdf)\ ~[`chg`](tie/tie-changes.pdf)~ \]

## Errata for “Computers & Typesetting”

* `errata/`
  * [The Errors of \TeX](errata/errorlog.pdf)
  * [The \TeX book, 1^st^\ printing](errata/errata.one.pdf)
  * [The \TeX book, 2^nd^\ printing](errata/errata.two.pdf)
  * [Computers & Typesetting, 15\ June\ 1987](errata/errata.three.pdf)
  * [Computers & Typesetting, 20\ February\ 1989](errata/errata.four.pdf)
  * [Computers & Typesetting, 30\ September\ 1989](errata/errata.five.pdf)
  * [Computers & Typesetting, 31\ December\ 1990](errata/errata.six.pdf)
  * [Computers & Typesetting, 15\ March\ 1992](errata/errata.seven.pdf)
  * [Computers & Typesetting, pre-Millennium\ ed.](errata/errata.eight.pdf)
  * [The \TeX book, September 1996](errata/errata.nine.pdf)
  * [Computers & Typesetting, 1^st^\ Millennium\ ed.](errata/errata.ten.pdf)
  * [Computers & Typesetting, 2^nd^\ Millennium\ ed.](errata/errata.eleven.pdf)
  * [Computers & Typesetting, early 2014](errata/errata.twelve.pdf)
  * [Computers & Typesetting, 31\ January\ 2021](errata/errata.pdf)

## Happy C/WEB Programming!