summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-03-10 03:00:54 +0000
committerNorbert Preining <norbert@preining.info>2021-03-10 03:00:54 +0000
commitf808c98da8e34907b93b8b1c2ef473539b88c504 (patch)
treee68615a59e28cb52c1edf845fa7921865c95c5a9 /web
parent0da44a32af4f9dd986fd60a51e7f9a1f932fe27c (diff)
CTAN sync 202103100300
Diffstat (limited to 'web')
-rw-r--r--web/pwebmac/README.md5
-rw-r--r--web/pwebmac/index.md64
-rwxr-xr-xweb/pwebmac/makeall29
3 files changed, 57 insertions, 41 deletions
diff --git a/web/pwebmac/README.md b/web/pwebmac/README.md
index cfd345d978..8a49380a70 100644
--- a/web/pwebmac/README.md
+++ b/web/pwebmac/README.md
@@ -18,7 +18,8 @@ Its initial application is the production of PDF files for all major WEB
programs for “TeX and friends” as distributed in
[TeX Live](https://www.tug.org/texlive). For this purpose, the shell script
`makeall` was whipped together; it provides various commandline options and
-works around several “quirks” in the WEB sources.
+works around several “quirks” in the WEB sources. The resulting ``PDF
+library'' can be browsed in the `knuth-pdf` package.
WEB programmers who want to use `pwebmac.tex` instead of the default
`webmac.tex` in their programs have to change the first line in the TeX file
@@ -29,4 +30,4 @@ clickable links and bookmarks (depending on your PDF viewer).
The `pwebmac` package is free software and may be used without constraints.
-This is version “4.6” of the `pwebmac` package — 2021-03-01, AS.
+This is version “4.6.1” of the `pwebmac` package — 2021-03-09, AS.
diff --git a/web/pwebmac/index.md b/web/pwebmac/index.md
index e80680479c..1631382506 100644
--- a/web/pwebmac/index.md
+++ b/web/pwebmac/index.md
@@ -17,6 +17,10 @@ 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`
@@ -24,57 +28,59 @@ 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 notify the maintainers on
-[the tex-k mailing list](mailto:tex-k@tug.org).
+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)~ \]
+ [`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)~ \|
+ [`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)~ \]
+ [`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)~ \|
+ [`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)~ \]
+ [`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)~ \]
+ [`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)~ \]
+ [`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) \]
-* `ctie/` \[ [`CTIE`](ctie/ctie.pdf) ~[`chg`](ctie/ctie-changes.pdf)~ \]
-* `tie/` \[ [`TIE`](tie/tie.pdf) ~[`chg`](tie/tie-changes.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”
diff --git a/web/pwebmac/makeall b/web/pwebmac/makeall
index fbe95ae54d..546c3984aa 100755
--- a/web/pwebmac/makeall
+++ b/web/pwebmac/makeall
@@ -28,6 +28,7 @@ LONGOPTS=changes,files:,help,new,outdir:,pdftocfront,tex:
SHRTOPTS=cf:hno:pt:
CHANGES=false # apply changefile to C/WEB source
+FILESELECT=false # user-defined '--files' selection
NEW=false # '\input pwebmac' instead of '\input webmac' for PDF et al.
OUTDIR=. # path where the resulting tarballs are placed
PDFTOCFRONT=false # push table-of-contents to front of PDF output
@@ -43,7 +44,7 @@ KNUTHWARE=$(dirname $KNUTHWHERE)
FILES="$KNUTHWARE/*.web pdftex.web xetex.web"
WEBINPUTS=$KNUTHWARE//:
-FILES="$FILES common ctangle cweave ctwill ctie tie"
+FILES="$FILES common ctangle cweave ctwill refsort twinx ctie tie"
CWEBINPUTS=$KNUTHWARE//:
KNUTHWHERE=$(locate /glue.web)
@@ -71,7 +72,7 @@ while true
do
case "$1" in
-c | --changes ) CHANGES=true; shift ;;
- -f | --files ) FILES="$2"; shift 2 ;;
+ -f | --files ) FILES="$2"; FILESELECT=true; shift 2 ;;
-h | --help ) usage; exit 0 ;;
-n | --new ) NEW=true; shift ;;
-o | --outdir ) OUTDIR="$2"; shift 2 ;;
@@ -111,6 +112,7 @@ do
common ) $CWEAVE $f comm-w2c ;;
ctangle ) $CWEAVE $f ctang-w2c ;;
cweave ) $CWEAVE $f cweav-w2c ;;
+ refsort | twinx ) $CWEAVE $f $f ;;
ctie ) $CWEAVE $f $f-k ;;
tie ) $CWEAVE $f $f-w2c ;;
@@ -136,7 +138,7 @@ do
$f.tex
else
case $f in
- c* | tie ) $CWEAVE $f ;;
+ c* | refsort | twinx | tie ) $CWEAVE $f ;;
* ) weave $f ;;
esac
fi
@@ -148,7 +150,8 @@ do
# timestamp on table-of-contents page or the first page
case $f in
- c* | tie ) ;; # do nothing for CWEB programs
+ # do nothing for CWEB programs
+ c* | refsort | twinx | tie ) ;;
bibtex | patgen | tangle | weave )
$SED_I -e "s/\(\\\\def\\\\title\)/\\\\datecontentspage\n\1/" $f.tex ;;
@@ -218,8 +221,8 @@ FI
# FIX: purge obsolete macros from XeTeX.
xetex ) $SED_I -e "/\\\\input xewebmac/d" $f.tex ;;
- # Use nicer format for C comments and assignment
- common | ctangle | cweave | ctie | tie ) # sans ctwill
+ # Use nicer format for C comments and assignment; sans ctwill
+ common | ctangle | cweave | refsort | twinx | ctie | tie )
$SED_I -e "1 s/\(cwebmac\)/\1\n\\\\input Xcwebmac/" \
$f.tex ;;
esac
@@ -245,6 +248,8 @@ FI
# only XeTeX can process XETEX.WEB
if [ xetex = $f ]
then $f $f
+ elif [ refsort = $f ]
+ then $TEX -interaction nonstopmode $f
else $TEX $f
fi
@@ -256,7 +261,7 @@ FI
fi
done
-if $PDFTOCFRONT
+if $PDFTOCFRONT && ! $FILESELECT
then
# create tarballs w/o changes for publication
if $CHANGES
@@ -297,7 +302,8 @@ then
tie-changes.pdf
$PAX "$OUTDIR/cweb-changes.tar.gz" -s ,^,cweb/, \
common-changes.pdf ctangle-changes.pdf \
- cweave-changes.pdf
+ cweave-changes.pdf refsort-changes.pdf \
+ twinx-changes.pdf
else
# Finally, build the remaining documents
# * TeX and Metafont test routines
@@ -356,7 +362,8 @@ then
$PAX "$OUTDIR/ctie.tar.gz" -s ,^,ctie/, ctie.pdf
$PAX "$OUTDIR/tie.tar.gz" -s ,^,tie/, tie.pdf
$PAX "$OUTDIR/cweb.tar.gz" -s ,^,cweb/, \
- cwebman.pdf common.pdf ctangle.pdf cweave.pdf ctwill.pdf
+ cwebman.pdf common.pdf ctangle.pdf cweave.pdf \
+ ctwill.pdf refsort.pdf twinx.pdf
fi
# Notes to self:
@@ -366,7 +373,9 @@ then
# pandoc index.tex -s -o index.html;
# rm index.tex
# (2) Prepare a super-tarball from all the contents of these
- # individual tarballs with 'pax -wzf knuth-lib.tar.gz'.
+ # individual tarballs (27/31) with either of
+ # (a) pax -wzf knuth-pdf.tar.gz knuth-pdf
+ # (b) zip -r knuth-pdf.zip knuth-pdf
fi
exit 0