From f808c98da8e34907b93b8b1c2ef473539b88c504 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 10 Mar 2021 03:00:54 +0000 Subject: CTAN sync 202103100300 --- web/pwebmac/README.md | 5 ++-- web/pwebmac/index.md | 64 ++++++++++++++++++++++++++++----------------------- web/pwebmac/makeall | 29 +++++++++++++++-------- 3 files changed, 57 insertions(+), 41 deletions(-) (limited to 'web') 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 -- cgit v1.2.3