diff options
Diffstat (limited to 'Master/texmf-dist/doc/plain/pwebmac/makeall')
-rw-r--r-- | Master/texmf-dist/doc/plain/pwebmac/makeall | 63 |
1 files changed, 51 insertions, 12 deletions
diff --git a/Master/texmf-dist/doc/plain/pwebmac/makeall b/Master/texmf-dist/doc/plain/pwebmac/makeall index 0ceba6f5116..6f0762a8d92 100644 --- a/Master/texmf-dist/doc/plain/pwebmac/makeall +++ b/Master/texmf-dist/doc/plain/pwebmac/makeall @@ -41,25 +41,43 @@ done KNUTHWHERE=$(locate /bibtex.web) KNUTHWARE=$(dirname $KNUTHWHERE) +export CWEBINPUTS=$KNUTHWARE//: +export WEBINPUTS=$KNUTHWARE//: + +# WEB and CWEB programs we want to get formatted; 'xetex.web' must be last, +# because it switches the TEX engine! for f in \ $KNUTHWARE/*.web \ - $KNUTHWARE/pdftexdir/pdftex.web \ - $KNUTHWARE/xetexdir/xetex.web + common ctangle cweave ctwill ctie tie \ + pdftex.web xetex.web do if $CHANGES then - c=$(basename $f .web) - case $c in - "pdftex"|"xetex" ) - c=$KNUTHWARE/$c - c=$(echo $c | sed -e 's?\(texk/\)?Work/\1?') ;; - * ) c=$KNUTHWARE/$c ;; + c=$(basename $f .web).ch + + # pdftex.ch and xetex.ch for TeX Live are here + WEBINPUTS=$KNUTHWARE/../../Work//:$WEBINPUTS: + + case $f in + *.web ) weave $f $c ;; + "common" ) cweave -f $f comm-w2c ;; + "ctangle" ) cweave -f $f ctang-w2c ;; + "cweave" ) cweave -f $f cweav-w2c ;; + "ctwill" ) cweave -f cweave $f-w2c $f ;; + "ctie" ) cweave -f $f $f-k ;; + "tie" ) cweave -f $f $f-w2c ;; esac - weave $f $c.ch - sed -i -e "s/\(\\\\let\\\\maybe=\)\\\\iftrue/\1\\\\iffalse/" \ + + # make full documentation with changes applied + sed -i -e "s/\(\\\\let\\\\maybe=\)\\\\iffalse/\1\\\\iftrue/" \ $(basename $f .web).tex else - weave $f + case $f in + *.web ) weave $f ;; + "common"|"ctangle"|"cweave"|"ctie"|"tie" ) + cweave -f $f ;; + "ctwill" ) cweave -f cweave $f-w2c $f ;; + esac fi f=$(basename $f .web) @@ -72,6 +90,7 @@ do # replace former convention to indicate "not a title page" # to include page headers for table-of-contents + # FIX: most of the WEB codes will be corrected. sed -i -e "s/\\\\def\\\\titlepage{F}/\\\\titlefalse/" $f.tex # special treatment for individual WEB programs @@ -79,10 +98,12 @@ do # purge conflict between bibtex.web and webmac.tex # 'E' no longer free to be active character # fix table-of-contents page for bibtex + # FIX: don't wait for Oren Patashnik. "bibtex" ) sed -i -e "s/titlefalse/titletrue/" \ -e "70,77d" $f.tex ;; # make room for new material in weave.web + # FIX: should be fixed upstream. "tangle" ) sed -i -e "s/number{123}/number{125}/" $f.tex ;; # amend '\N' redefinition for PDF outlines in mf.tex and @@ -125,13 +146,27 @@ FI }" $f.tex rm texmf-pdf.patch fi ;; + + "common"|"ctangle"|"cweave"|"ctwill"|"ctie"|"tie" ) + # Use nicer format for C comments and assignment + sed -i -e "1 s/\(\\\\input cwebmac\)/\1\n\\\\input Xcwebmac/" \ + $f.tex + + # 'cwebmac.tex' needs a little push for 'xetex' + # FIX: should be fixed upstream in 'cwebmac.tex'. + if [ "xetex" = $TEX ] + then + sed -i -e "1 s/\(\\\\input cwebmac\)/\\\\let\\\\pdf+\n\1\n/" \ + $f.tex + fi ;; esac if $PDFTOCFRONT then # shift table-of-contents pages to the front in PDF sed -i -e "1 s/\(webmac\)/\1\n\\\\input pdfwebtocfront/" $f.tex - $TEX $f.tex # run TeX twice + sed -i -e "2 s/\(cwebmac\)/\1\n\\\\input pdfwebtocfront/" $f.tex + $TEX $f # run TeX twice fi $TEX $f @@ -153,6 +188,10 @@ then -wvzf $OUTDIR/other.tar.gz -s ,^,other/, pax pdftex.pdf -wvzf $OUTDIR/pdftex.tar.gz -s ,^,pdftex/, pax xetex.pdf -wvzf $OUTDIR/xetex.tar.gz -s ,^,xetex/, + pax ctie.pdf -wvzf $OUTDIR/ctie.tar.gz -s ,^,ctie/, + pax tie.pdf -wvzf $OUTDIR/tie.tar.gz -s ,^,tie/, + pax common.pdf ctangle.pdf cweave.pdf ctwill.pdf \ + -wvzf $OUTDIR/cweb.tar.gz -s ,^,cweb/, fi exit 0 |