From a96eb9f8ff905f4cb1c3f908700d8f8e6dbb4c2e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 8 Mar 2021 18:34:16 +0000 Subject: pwebmac, minus knuth-lib tarball git-svn-id: svn://tug.org/texlive/trunk@58226 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/plain/pwebmac/README.TEXLIVE | 9 + Master/texmf-dist/doc/plain/pwebmac/README.md | 6 +- Master/texmf-dist/doc/plain/pwebmac/index.md | 2 + Master/texmf-dist/doc/plain/pwebmac/makeall | 14 ++ Master/texmf-dist/doc/plain/pwebmac/trapman.ch | 23 +++ Master/texmf-dist/doc/plain/pwebmac/webman.ch | 198 +++++++++++++++++++++ 6 files changed, 249 insertions(+), 3 deletions(-) create mode 100644 Master/texmf-dist/doc/plain/pwebmac/README.TEXLIVE create mode 100644 Master/texmf-dist/doc/plain/pwebmac/trapman.ch create mode 100644 Master/texmf-dist/doc/plain/pwebmac/webman.ch (limited to 'Master/texmf-dist/doc/plain') diff --git a/Master/texmf-dist/doc/plain/pwebmac/README.TEXLIVE b/Master/texmf-dist/doc/plain/pwebmac/README.TEXLIVE new file mode 100644 index 00000000000..ee57a709adb --- /dev/null +++ b/Master/texmf-dist/doc/plain/pwebmac/README.TEXLIVE @@ -0,0 +1,9 @@ +The files below have been removed in the TeX Live installation of +the current package, possibly because of missing source (e.g., a +PDF with no source), possibly because their only purpose is to support +nonfree fonts or other software, possibly for other reasons. +More info: https://tug.org/texlive/pkgcontrib.html#requirements + +If this is a concern, please contact the package maintainer. + + knuth-lib.tar.gz diff --git a/Master/texmf-dist/doc/plain/pwebmac/README.md b/Master/texmf-dist/doc/plain/pwebmac/README.md index 5c3399b280b..cfd345d978b 100644 --- a/Master/texmf-dist/doc/plain/pwebmac/README.md +++ b/Master/texmf-dist/doc/plain/pwebmac/README.md @@ -3,8 +3,8 @@ The original [WEB](https://ctan.org/pkg/web) system by Donald Knuth has the macros `webmac.tex` that produce DVI output only; for historic reasons, it will never be modified (apart from catastrophic errors). -Hàn Thế Thành has modified these macros in his `pdfwebmac.tex` for PDF output -(only) with [pdfTeX](https://ctan.org/pkg/pdftex). +Hàn Thế Thành has modified these macros in his (outdated?) `pdfwebmac.tex` for +PDF output (only) with [pdfTeX](https://ctan.org/pkg/pdftex). Jonathan Kew's [XeTeX](https://ctan.org/pkg/xetex) has similar macros `xewebmac.tex` by Khaled Hosny that _modify_ `webmac.tex` for PDF output; these macros can only be used with a specific “TeX engine” each. @@ -29,4 +29,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.5.7” of the `pwebmac` package — 2021-02-11, AS. +This is version “4.6” of the `pwebmac` package — 2021-03-01, AS. diff --git a/Master/texmf-dist/doc/plain/pwebmac/index.md b/Master/texmf-dist/doc/plain/pwebmac/index.md index b7584641ce9..e80680479c7 100644 --- a/Master/texmf-dist/doc/plain/pwebmac/index.md +++ b/Master/texmf-dist/doc/plain/pwebmac/index.md @@ -1,6 +1,8 @@ --- title: C/WEB programs in “\TeX\ Live 2021” colorlinks: true +filecolor: blue +urlcolor: blue --- \raggedright \vspace{-2\baselineskip} diff --git a/Master/texmf-dist/doc/plain/pwebmac/makeall b/Master/texmf-dist/doc/plain/pwebmac/makeall index b67a8af1540..fbe95ae54d7 100644 --- a/Master/texmf-dist/doc/plain/pwebmac/makeall +++ b/Master/texmf-dist/doc/plain/pwebmac/makeall @@ -235,6 +235,11 @@ FI then $f $f # run TeX twice else $TEX $f # run TeX twice fi + + # run TEX.WEB three times to fix table-of-contents + if [ tex = $f ] + then $TEX $f + fi fi # only XeTeX can process XETEX.WEB @@ -353,6 +358,15 @@ then $PAX "$OUTDIR/cweb.tar.gz" -s ,^,cweb/, \ cwebman.pdf common.pdf ctangle.pdf cweave.pdf ctwill.pdf fi + + # Notes to self: + # (1) Create a user-friendly central entrypoint with + # (a) pandoc index.md -o index.pdf + # (b) pandoc index.md -o index.tex; + # 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'. fi exit 0 diff --git a/Master/texmf-dist/doc/plain/pwebmac/trapman.ch b/Master/texmf-dist/doc/plain/pwebmac/trapman.ch new file mode 100644 index 00000000000..2467983cfef --- /dev/null +++ b/Master/texmf-dist/doc/plain/pwebmac/trapman.ch @@ -0,0 +1,23 @@ +@x l.355 +\verbatim{trapin.log} +@y +\verbatim{mftrapin.log} +@z + +@x l.365 +\verbatim{trap.log} +@y +\verbatim{mftrap.log} +@z + +@x l.389 +\verbatim{trap.pl} +@y +\verbatim{mftrap.pl} +@z + +@x l.398 +\verbatim{trap.fot} +@y +\verbatim{mftrap.fot} +@z diff --git a/Master/texmf-dist/doc/plain/pwebmac/webman.ch b/Master/texmf-dist/doc/plain/pwebmac/webman.ch new file mode 100644 index 00000000000..af8b2e88ff2 --- /dev/null +++ b/Master/texmf-dist/doc/plain/pwebmac/webman.ch @@ -0,0 +1,198 @@ +@x l.2 +\input webmac +@y +\input pwebmac +\ifacro + \pdfpagewidth=\pagewidth \advance\pdfpagewidth by 2cm + \pdfpageheight=\pageheight \advance\pdfpageheight by 3cm + \ifpdftex \pdfhorigin=1cm \pdfvorigin=1cm + \else \advance\pdfpageheight by 1cm \global\pageshift=-1.54cm + \global\hoffset=-1.54cm \global\voffset=-1.54cm \fi +\else\pageno=1\fi +@z + +@x l.16 +\outer\def\section #1.{\penalty-50\vskip 12pt plus 3pt minus 3pt + \noindent{\bf #1.}\quad\ignorespaces} +@y +\newcount\destcount \destcount=1\relax + +\def\bkminfo{} +\outer\def\section #1.{\penalty-50\vskip 12pt plus 3pt minus 3pt + \noindent\ifacro\vbox to 0pt{\kern-2.5ex\relax + \ifpdftex\pdfdest num \destcount fitbh\relax + \else\special{pdf: dest (\the\destcount) [ @thispage /FitBH @ypos ]}\fi + \def\.##1{##1}% + \ifx\bkminfo\empty\def\sectitle{#1}\else\def\sectitle{#1 (\bkminfo)}\fi + \ifpdftex\pdfoutline goto num \destcount {\sectitle}\relax + \else\special{pdf: outline 0 << /Title (\sectitle) + /A << /S /GoTo /D (\the\destcount) >> >>}\fi + \gdef\bkminfo{}% + \global\advance\destcount by 1\relax + \kern2.5ex\relax + }\fi{\bf #1.}\quad\ignorespaces} + +\def\appA{7} +\def\appB{8} +\def\appC{9} +\def\appD{0} +\def\appE{0} +\def\appF{10} +\def\appG{11} +\def\appH{12} + +\def\Appendix#1{\leavevmode + \ifnum\csname app#1\endcsname>0 % + \ifacro\ifpdftex + \pdfstartlink attr{/Border[0 0 0]} goto num\csname app#1\endcsname\relax + \PDFlinkcolor\hbox{Appendix}~#1\Black + \pdfendlink + \else + \setbox0=\hbox{\special{pdf: bc [ \pdflinkcolor ]}{\hbox{Appendix}~#1}% + \special{pdf: ec}}\special{pdf: ann width \thewidth height \theheight + depth \thedepth << /Type /Annot /Subtype /Link /Border [0 0 0] + /A << /S /GoTo /D (\csname app#1\endcsname) >> >>}\box0\relax + \fi\else Appendix~#1\fi + \else Appendix~#1\fi} +@z + +@x +program for \.{TANGLE}, in the appendix, gives precise details about this +@y +program for \.{TANGLE}, in \pdfURL{Appendix~E}{tangle.pdf}, +gives precise details about this +@z + +@x l.626 +outputs of \.{WEAVE} and \.{TANGLE} (see Appendix~C\null). Meta-comments +@y +outputs of \.{WEAVE} (see \Appendix B\null) and \.{TANGLE} +(see \Appendix C\null). Meta-comments +@z + +@x l.893 +examples of ``real'' programs. Appendix~A shows the \.{WEB} input that +generated modules 55--59 of the \.{WEAVE} program; Appendix~B shows the +corresponding \TeX\ code output by \.{WEAVE}; and Appendix~C shows excerpts +@y +examples of ``real'' programs. \Appendix A shows the \.{WEB} input that +generated modules 55--59 of the \.{WEAVE} program; \Appendix B shows the +corresponding \TeX\ code output by \.{WEAVE}; and \Appendix C shows excerpts +@z + +@x l.900 +report, in Appendices D and~E. The reader should first compare Appendix~A +to the corresponding portion of Appendix~D; then the same material should +be compared to Appendices B and~C. Finally, if time permits, the reader may +enjoy studying the complete programs in Appendices D and~E, since \.{WEAVE} +@y +report, in Appendices \pdfURL{D}{weave.pdf} and~\pdfURL{E}{tangle.pdf}. +The reader should first compare \Appendix A to the corresponding portion of +\pdfURL{Appendix~D}{weave.pdf}; then the same material should be compared to +\Appendix B and \Appendix C. Finally, if time permits, the reader may enjoy +studying the complete programs in Appendices \pdfURL{D}{weave.pdf} +and~\pdfURL{E}{tangle.pdf}, since \.{WEAVE} +@z + +@x l.908 +Finally, Appendix F is the `\.{webmac}' file that sets \TeX\ up to accept +the output of \.{WEAVE}; Appendix~G discusses how to use some of its macros +to vary the output formats; and Appendix~H discusses what needs to be done +@y +Finally, \Appendix F is the `\.{webmac}' file that sets \TeX\ up to accept +the output of \.{WEAVE}; \Appendix G discusses how to use some of its macros +to vary the output formats; and \Appendix H discusses what needs to be done +@z + +@x l.913 +The programs in Appendices D and E will optionally keep statistics on +@y +The programs in Appendices \pdfURL{D}{weave.pdf} and \pdfURL{E}{tangle.pdf} +will optionally keep statistics on +@z + +@x l.989 +\section Appendix A. +This excerpt from \.{WEAVE.WEB} produced modules 55--59 in Appendix~D. +@y +\def\bkminfo{WEB file format} +\section Appendix A. +This excerpt from \.{WEAVE.WEB} produced modules 55--59 in +\pdfURL{Appendix~D}{weave.pdf}. +@z + +@x l.1061 +\section Appendix B. +This excerpt from \.{WEAVE.TEX} corresponds to Appendix A. +@y +\def\bkminfo{Translations by WEAVE} +\section Appendix B. +This excerpt from \.{WEAVE.TEX} corresponds to \Appendix A. +@z + +@x l.1143 +\section Appendix C. +@y +\def\bkminfo{Translation by TANGLE} +\section Appendix C. +@z + +@x l.1425 +in small caps. For example, Appendix~D was produced after saying +@y +in small caps. For example, \pdfURL{Appendix~D}{weave.pdf} was produced +after saying +@z + +@x l.1468 +\.{\\pageno=\\contentspagenumber} \.{\\advance\\pageno by 1}'. (Appendix~D +@y +\.{\\pageno=\\contentspagenumber} \.{\\advance\\pageno by 1}'. +(\pdfURL{Appendix~D}{weave.pdf} +@z + +@x l.1479 +For example, Appendix~D was produced with the following definitions: +@y +For example, \pdfURL{Appendix~D}{weave.pdf} was produced with the following +definitions: +@z + +@x l.1491 +for every starred module. For example, when Appendix~D was being generated, +@y +for every starred module. For example, when \pdfURL{Appendix~D}{weave.pdf} +was being generated, +@z + +@x l.1583 +dependencies'' in the index of Appendix~E above, and figure out what changes +@y +dependencies'' in the index of \pdfURL{Appendix~E}{tangle.pdf} above, +and figure out what changes +@z + +@x l.1609 +the index to Appendix~D. +@y +the index to \pdfURL{Appendix~D}{weave.pdf}. +@z + +@x l.1616 +Appendix~E. This listing will incorporate your changes. +@y +\pdfURL{Appendix~E}{tangle.pdf}. This listing will incorporate your changes. +@z + +@x l.1620 +Appendix~D that incorporates your changes. +@y +\pdfURL{Appendix~D}{weave.pdf} that incorporates your changes. +@z + +@x l.1666 +computer by following Appendices D and E. Then you have to simulate the +@y +computer by following Appendices \pdfURL{D}{weave.pdf} +and~\pdfURL{E}{tangle.pdf}. Then you have to simulate the +@z -- cgit v1.2.3