diff options
author | Karl Berry <karl@freefriends.org> | 2008-07-26 00:11:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-07-26 00:11:51 +0000 |
commit | 65f8da71e44b1576ce22edb029a75ef670d1c969 (patch) | |
tree | 4a2cd4b7d28f09e39d606d549295afe0e689142a /Master/texmf-dist/source/latex/latex-tds/patch | |
parent | c331ebf222e05ae278abb62bfa66cd223cf68a0c (diff) |
latex-tds update (25jul08)
git-svn-id: svn://tug.org/texlive/trunk@9777 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/latex-tds/patch')
4 files changed, 893 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/latex-tds/patch/logmac.tex.diff b/Master/texmf-dist/source/latex/latex-tds/patch/logmac.tex.diff new file mode 100644 index 00000000000..7541ceff009 --- /dev/null +++ b/Master/texmf-dist/source/latex/latex-tds/patch/logmac.tex.diff @@ -0,0 +1,134 @@ +*** logmac.tex.org 1991-10-19 05:33:44.000000000 +0100 +--- logmac.tex 2008-07-11 01:00:43.000000000 +0200 +*************** +*** 42,54 **** + \catcode`\ =12 % tabs are ordinary characters + \catcode`@=\active % @ signs denote a TeX section reference + {\obeylines \gdef@#1 +! {\global\setbox\texsec=\hbox{\S$#1$}\lookahead}} + \chardef\@=`\@ + {\catcode`X=\active \gdef X{\X}} + \def\X{{\eightbf X}} + \def\lightX{\hbox{\eightrm X}} +! \def\>#1\relax{\global\setbox\predec=\hbox{\let\X=\lightX +! $#1\mapsto{}$}} % previous bug ref + + \def\checkvalid#1{\expandafter\ifx\csname#1!\endcsname\okay\else\invalidcode\fi} + \def\okay{\okay} +--- 42,103 ---- + \catcode`\ =12 % tabs are ordinary characters + \catcode`@=\active % @ signs denote a TeX section reference + {\obeylines \gdef@#1 +! {% +! \global\setbox\texsec=\hbox{% +! \S$\texlinks{#1}$% +! }% +! \lookahead % +! }% +! } +! \def\texlinks#1{% +! \dotexlinks#1,\END +! } +! \def\dotexlinks#1,#2\END{% +! {% +! \pdfstartlink attr{% +! /Border[0 0 0]% +! } user {% +! /Subtype/Link% +! /F 4% +! /A<<% +! /S/GoToR% +! /F(../tex/tex.pdf)% +! /D(#1)% +! >>% +! }\relax +! \TeXLinkColor #1\Black +! \pdfendlink +! }% +! \ifx\eject#2\eject +! \else +! ,% +! \dotexlinks#2\END +! \fi +! } +! \def\TeXLinkColor{% +! \pdfliteral{0 0 1 rg}% +! } + \chardef\@=`\@ + {\catcode`X=\active \gdef X{\X}} + \def\X{{\eightbf X}} + \def\lightX{\hbox{\eightrm X}} +! \def\>#1\relax{% +! \global\setbox\predec=\hbox{% +! \let\X=\lightX +! $% +! \begingroup +! \def\hbox##1{##1}% +! \def\eightrm{}% +! \xdef\linkname{#1}% +! \endgroup +! \pdfstartlink attr{/Border[0 0 0]} goto name{\linkname}\relax +! \LinkColor#1\Black +! \pdfendlink +! \mapsto{}$% +! }% +! } % previous bug ref +! \def\LinkColor{\pdfliteral{1 0 0 rg}} +! \def\Black{\pdfliteral{0 g}} + + \def\checkvalid#1{\expandafter\ifx\csname#1!\endcsname\okay\else\invalidcode\fi} + \def\okay{\okay} +*************** +*** 82,90 **** + \global\setbox\code=\hbox to\codesize{\enspace + \hskip0pt plus 3fil\rm#1\hskip0pt plus1fil}% + \begingroup\rm\catcode`X=\active\itemnumber} +! \def\itemnumber#1.{\catcode`X=11\setbox0=\hbox to\itemnosize{\bf\hss#1\relax}% +! \setbox2=\hbox{\bf#1\relax}\ifdim\wd2>\wd0 \setbox0=\box2 \fi +! \textindent{\hfil\box\predec\box0}} + \def\commentline{\fin\afterassignment\begincomment\let\next} + \def\begincomment{\begingroup\let\tt=\sltt + \let\MF=\slMF\sl\textindent{\hfil\copy\cbox}} +--- 131,172 ---- + \global\setbox\code=\hbox to\codesize{\enspace + \hskip0pt plus 3fil\rm#1\hskip0pt plus1fil}% + \begingroup\rm\catcode`X=\active\itemnumber} +! \def\itemnumber#1.{% +! \catcode`X=11 % +! \setbox0=\hbox to\itemnosize{% +! \bf\hss#1\relax +! }% +! \setbox2=\hbox{\bf#1\relax}% +! \ifdim\wd2>\wd0 % +! \setbox0=\box2 % +! \fi +! \textindent{% +! \hfil +! \box\predec +! \box0 % +! \rlap{% +! \enspace +! \kern-\parindent +! \vbox to 0pt{% +! \kern-2.5ex\relax +! \def\getnum##1\>##2\END{##1}% +! \def\eightbf{}% +! \edef\linkname{\getnum#1\>\END}% +! \def\firstofone##1{##1}% +! \edef\linkname{\expandafter\firstofone\linkname}% +! \expandafter\ifx\csname :\linkname:\endcsname\empty +! \immediate\write16{% +! * Warning: Destination `\linkname' already used!% +! }% +! \else +! \expandafter\xdef\csname :\linkname:\endcsname{}% +! \pdfdest name{\linkname}fitbh\relax +! \kern2.5ex\relax +! \fi +! }% +! }% +! }% +! } + \def\commentline{\fin\afterassignment\begincomment\let\next} + \def\begincomment{\begingroup\let\tt=\sltt + \let\MF=\slMF\sl\textindent{\hfil\copy\cbox}} diff --git a/Master/texmf-dist/source/latex/latex-tds/patch/trapman.tex.diff b/Master/texmf-dist/source/latex/latex-tds/patch/trapman.tex.diff new file mode 100644 index 00000000000..f271e42bd56 --- /dev/null +++ b/Master/texmf-dist/source/latex/latex-tds/patch/trapman.tex.diff @@ -0,0 +1,204 @@ +*** trapman.tex.org 1993-09-21 23:41:30.000000000 +0200 +--- trapman.tex 2008-07-10 22:45:58.000000000 +0200 +*************** +*** 24,29 **** +--- 24,44 ---- + % if you're unlucky it will appear on a page by itself! + {\obeyspaces\global\let =\ } + ++ \pdfinfo{% ++ /Title(A torture test for METAFONT)% ++ /Author(Donald E. Knuth)% ++ } ++ \pdfcatalog{% ++ /PageLabels<<% ++ /Nums[0<</P(0)>>1<</S/D/St 1>>]% ++ >>% ++ /PageMode/UseOutlines ++ } ++ \pdfpagewidth=7.5in\relax % 8.5in - 2*.5in ++ \pdfhorigin=.5in\relax ++ \pdfpageheight=10in\relax % 11in - 2*.5in ++ \pdfvorigin=.5in\relax ++ + \output{\shipout\box255\global\advance\pageno by 1} % for the title page only + \null + \vfill +*************** +*** 62,69 **** + \box255} + \global\advance\pageno by 1} + \let\runninghead=\mark +! \outer\def\section#1.{\noindent{\bf#1.}\quad +! \runninghead{\uppercase{#1} }\ignorespaces} + + \section Introduction. + People often think that their programs are ``debugged'' when large applications +--- 77,121 ---- + \box255} + \global\advance\pageno by 1} + \let\runninghead=\mark +! +! \newcount\destcount +! \destcount=1\relax +! +! \outer\def\section#1.{% +! \noindent +! \vbox to 0pt{% +! \kern-2.5ex\relax +! \pdfdest num\destcount fitbh\relax +! \def\.##1{##1}% +! \def\MF{METAFONT}% +! \pdfoutline goto num\destcount{#1}\relax +! \global\advance\destcount by 1\relax +! \kern2.5ex\relax +! }% +! {\bf#1.}\quad +! \runninghead{\uppercase{#1} }\ignorespaces +! } +! +! \def\LinkColor{% +! \pdfliteral{1 0 0 rg}% +! } +! \def\Black{% +! \pdfliteral{0 g}% +! } +! \def\appA{2} +! \def\appB{3} +! \def\appC{4} +! \def\appD{5} +! \def\appE{6} +! \def\appF{7} +! \def\appG{8} +! +! \def\appref#1{% +! \leavevmode +! \pdfstartlink attr{/Border[0 0 0]} goto num\csname app#1\endcsname\relax +! \LinkColor\hbox{Appendix}~#1\Black +! \pdfendlink +! } + + \section Introduction. + People often think that their programs are ``debugged'' when large applications +*************** +*** 175,208 **** + The remainder of this report consists of appendices, whose contents ought + to be described briefly here: + +! Appendix A explains in detail how to carry out a test of \MF, given + a tape that contains copies of the other appendices. + +! Appendix B is \.{TRAP.MF}, the fiendish test file that has already + been mentioned. People who think that they understand \MF\ are challenged + to see if they know what \MF\ is supposed to do with this file. + People who know only a little about \MF\ might still find it + interesting to study Appendix~B, just to get some insights into the + methodology advocated here. + +! Appendix C is \.{TRAPIN.LOG}, a correct transcript file \.{TRAP.LOG} + that results if \.{INIMF} is applied to \.{TRAP.MF}. (\.{INIMF} is + the name of a version of \MF\ that does certain initializations; + this run of \.{INIMF} also creates a binary base file called \.{TRAP.BASE}.) + +! Appendix D is a correct transcript file \.{TRAP.LOG} that results if + \.{INIMF} or any other version of \MF\ is applied to \.{TRAP.MF} + with base file \.{TRAP.BASE}. + +! Appendix E is \.{TRAP.TYP}, the symbolic version of a correct output + file \.{TRAP.72270GF} that was produced at the same time as the \.{TRAP.LOG} + file of Appendix~D. + +! Appendix F is \.{TRAP.PL}, the symbolic version of a correct output + file \.{TRAP.TFM} that was produced at the same time as the \.{TRAP.LOG} + file of Appendix~D. + +! Appendix G is \.{TRAP.FOT}, an abbreviated version of Appendix D that + appears on the user's terminal during the run that produces \.{TRAP.LOG}, + \.{TRAP.72270GF}, and \.{TRAP.TFM}. + +--- 227,260 ---- + The remainder of this report consists of appendices, whose contents ought + to be described briefly here: + +! \appref A explains in detail how to carry out a test of \MF, given + a tape that contains copies of the other appendices. + +! \appref B is \.{TRAP.MF}, the fiendish test file that has already + been mentioned. People who think that they understand \MF\ are challenged + to see if they know what \MF\ is supposed to do with this file. + People who know only a little about \MF\ might still find it + interesting to study Appendix~B, just to get some insights into the + methodology advocated here. + +! \appref C is \.{TRAPIN.LOG}, a correct transcript file \.{TRAP.LOG} + that results if \.{INIMF} is applied to \.{TRAP.MF}. (\.{INIMF} is + the name of a version of \MF\ that does certain initializations; + this run of \.{INIMF} also creates a binary base file called \.{TRAP.BASE}.) + +! \appref D is a correct transcript file \.{TRAP.LOG} that results if + \.{INIMF} or any other version of \MF\ is applied to \.{TRAP.MF} + with base file \.{TRAP.BASE}. + +! \appref E is \.{TRAP.TYP}, the symbolic version of a correct output + file \.{TRAP.72270GF} that was produced at the same time as the \.{TRAP.LOG} + file of Appendix~D. + +! \appref F is \.{TRAP.PL}, the symbolic version of a correct output + file \.{TRAP.TFM} that was produced at the same time as the \.{TRAP.LOG} + file of Appendix~D. + +! \appref G is \.{TRAP.FOT}, an abbreviated version of \appref D that + appears on the user's terminal during the run that produces \.{TRAP.LOG}, + \.{TRAP.72270GF}, and \.{TRAP.TFM}. + +*************** +*** 369,375 **** + \section Appendix E: The \.{TRAP.TYP} file. + Here is another major component of the test. It shows the output of \.{GFtype} + applied to the file \.{TRAP.72270GF} that is created at the same time +! Appendix D was produced. + \runninghead{APPENDIX E: \.{TRAP.TYP} (CONTINUED)} + + {\let\tt=\eighttt\leftskip 1in\baselineskip 9pt plus .1pt minus .1pt +--- 421,427 ---- + \section Appendix E: The \.{TRAP.TYP} file. + Here is another major component of the test. It shows the output of \.{GFtype} + applied to the file \.{TRAP.72270GF} that is created at the same time +! \appref D was produced. + \runninghead{APPENDIX E: \.{TRAP.TYP} (CONTINUED)} + + {\let\tt=\eighttt\leftskip 1in\baselineskip 9pt plus .1pt minus .1pt +*************** +*** 381,387 **** + \section Appendix F: The \.{TRAP.PL} file. + In this case we have the output of \.{TFtoPL} + applied to the file \.{TRAP.TFM} that is created at the same time +! Appendix D was produced. + \runninghead{APPENDIX F: \.{TRAP.PL} (CONTINUED)} + + {\let\tt=\eighttt\leftskip 1in\baselineskip 9pt plus .1pt minus .1pt +--- 433,439 ---- + \section Appendix F: The \.{TRAP.PL} file. + In this case we have the output of \.{TFtoPL} + applied to the file \.{TRAP.TFM} that is created at the same time +! \appref D was produced. + \runninghead{APPENDIX F: \.{TRAP.PL} (CONTINUED)} + + {\let\tt=\eighttt\leftskip 1in\baselineskip 9pt plus .1pt minus .1pt +*************** +*** 391,397 **** + \vfill\eject + + \section Appendix G: The \.{TRAP.FOT} file. +! This shows what appeared on the terminal while Appendix D was being produced. + \runninghead{APPENDIX G: \.{TRAP.FOT} (CONTINUED)} + + \vskip8pt +--- 443,449 ---- + \vfill\eject + + \section Appendix G: The \.{TRAP.FOT} file. +! This shows what appeared on the terminal while \appref D was being produced. + \runninghead{APPENDIX G: \.{TRAP.FOT} (CONTINUED)} + + \vskip8pt diff --git a/Master/texmf-dist/source/latex/latex-tds/patch/tripman.tex.diff b/Master/texmf-dist/source/latex/latex-tds/patch/tripman.tex.diff new file mode 100644 index 00000000000..dc02c18b04b --- /dev/null +++ b/Master/texmf-dist/source/latex/latex-tds/patch/tripman.tex.diff @@ -0,0 +1,215 @@ +*** tripman.tex.org 1992-01-13 23:55:40.000000000 +0100 +--- tripman.tex 2008-07-10 22:43:32.000000000 +0200 +*************** +*** 22,27 **** +--- 22,42 ---- + % if you're unlucky it will appear on a page by itself! + {\obeyspaces\global\let =\ } + ++ \pdfinfo{% ++ /Title(A torture test for TeX)% ++ /Author(Donald E. Knuth)% ++ } ++ \pdfcatalog{% ++ /PageLabels<<% ++ /Nums[0<</P(0)>>1<</S/D/St 1>>]% ++ >>% ++ /PageMode/UseOutlines ++ } ++ \pdfpagewidth=7.5in\relax % 8.5in - 2*.5in ++ \pdfhorigin=.5in\relax ++ \pdfpageheight=10in\relax % 11in - 2*.5in ++ \pdfvorigin=.5in\relax ++ + \output{\shipout\box255\global\advance\pageno by 1} % for the title page only + \null + \vfill +*************** +*** 57,64 **** + \box255} + \global\advance\pageno by 1} + \let\runninghead=\mark +! \outer\def\section#1.{\noindent{\bf#1.}\quad +! \runninghead{\uppercase{#1} }\ignorespaces} + + \section Introduction. + People often think that their programs are ``debugged'' when large applications +--- 72,117 ---- + \box255} + \global\advance\pageno by 1} + \let\runninghead=\mark +! +! \newcount\destcount +! \destcount=1\relax +! +! \outer\def\section#1.{% +! \noindent +! \vbox to 0pt{% +! \kern-2.5ex\relax +! \pdfdest num\destcount fitbh\relax +! \def\.##1{##1}% +! \def\TeX{TeX}% +! \pdfoutline goto num\destcount{#1}\relax +! \global\advance\destcount by 1\relax +! \kern2.5ex\relax +! }% +! {\bf#1.}\quad +! \runninghead{\uppercase{#1} }\ignorespaces +! } +! +! \def\LinkColor{% +! \pdfliteral{1 0 0 rg}% +! } +! \def\Black{% +! \pdfliteral{0 g}% +! } +! \def\appA{2} +! \def\appB{3} +! \def\appC{4} +! \def\appD{5} +! \def\appE{6} +! \def\appF{7} +! \def\appG{8} +! \def\appH{9} +! +! \def\appref#1{% +! \leavevmode +! \pdfstartlink attr{/Border[0 0 0]} goto num\csname app#1\endcsname\relax +! \LinkColor\hbox{Appendix}~#1\Black +! \pdfendlink +! } + + \section Introduction. + People often think that their programs are ``debugged'' when large applications +*************** +*** 170,208 **** + The remainder of this report consists of appendices, whose contents ought + to be described briefly here: + +! Appendix A explains in detail how to carry out a test of \TeX, given + a tape that contains copies of the other appendices. + +! Appendix B is \.{TRIP.TEX}, the fiendish test file that has already + been mentioned. People who think that they understand \TeX\ are challenged + to see if they know what \TeX\ is supposed to do with this file. + People who know only a little about \TeX\ might still find it + interesting to study Appendix~B, just to get some insights into the + methodology advocated here. + +! Appendix C is \.{TRIP.PL}, the property-list description of a + special font called \.{trip}. This is the only font used by \.{TRIP.TEX}. + There are no graphic characters associated with \.{trip} that could + possibly be printed; indeed, \.{TRIP.PL} describes the properties of a font + that is as weird as the ``document'' described by \.{TRIP.TEX}. + +! Appendix D is \.{TRIPIN.LOG}, a correct transcript file \.{TRIP.LOG} + that results if \.{INITEX} is applied to \.{TRIP.TEX}. (\.{INITEX} is + the name of a version of \TeX\ that does certain initializations; + this run of \.{INITEX} also creates a binary format file called \.{TRIP.FMT}.) + +! Appendix E is a correct transcript file \.{TRIP.LOG} that results if + \.{INITEX} or any other version of \TeX\ is applied to \.{TRIP.TEX} + with format \.{TRIP.FMT}. + +! Appendix F is \.{TRIP.TYP}, the symbolic version of a correct output + file \.{TRIP.DVI} that was produced at the same time as the \.{TRIP.LOG} + file of Appendix~E. + +! Appendix G is \.{TRIPOS.TEX}, a short file written out and read in + by \TeX\ when it processes \.{TRIP.TEX}. + +! Appendix H is \.{TRIP.FOT}, an abbreviated version of Appendix E that + appears on the user's terminal during the run that produces \.{TRIP.LOG} + and \.{TRIP.DVI}. + +--- 223,261 ---- + The remainder of this report consists of appendices, whose contents ought + to be described briefly here: + +! \appref A explains in detail how to carry out a test of \TeX, given + a tape that contains copies of the other appendices. + +! \appref B is \.{TRIP.TEX}, the fiendish test file that has already + been mentioned. People who think that they understand \TeX\ are challenged + to see if they know what \TeX\ is supposed to do with this file. + People who know only a little about \TeX\ might still find it + interesting to study Appendix~B, just to get some insights into the + methodology advocated here. + +! \appref C is \.{TRIP.PL}, the property-list description of a + special font called \.{trip}. This is the only font used by \.{TRIP.TEX}. + There are no graphic characters associated with \.{trip} that could + possibly be printed; indeed, \.{TRIP.PL} describes the properties of a font + that is as weird as the ``document'' described by \.{TRIP.TEX}. + +! \appref D is \.{TRIPIN.LOG}, a correct transcript file \.{TRIP.LOG} + that results if \.{INITEX} is applied to \.{TRIP.TEX}. (\.{INITEX} is + the name of a version of \TeX\ that does certain initializations; + this run of \.{INITEX} also creates a binary format file called \.{TRIP.FMT}.) + +! \appref E is a correct transcript file \.{TRIP.LOG} that results if + \.{INITEX} or any other version of \TeX\ is applied to \.{TRIP.TEX} + with format \.{TRIP.FMT}. + +! \appref F is \.{TRIP.TYP}, the symbolic version of a correct output + file \.{TRIP.DVI} that was produced at the same time as the \.{TRIP.LOG} + file of Appendix~E. + +! \appref G is \.{TRIPOS.TEX}, a short file written out and read in + by \TeX\ when it processes \.{TRIP.TEX}. + +! \appref H is \.{TRIP.FOT}, an abbreviated version of \appref E that + appears on the user's terminal during the run that produces \.{TRIP.LOG} + and \.{TRIP.DVI}. + +*************** +*** 384,390 **** + \section Appendix F: The \.{TRIP.TYP} file. + Here is another major component of the test. It shows the output of \.{DVItype} + applied to the file \.{TRIP.DVI} that was created at the same time +! Appendix E was produced. + \runninghead{APPENDIX F: \.{TRIP.TYP} (CONTINUED)} + + {\let\tt=\eighttt\leftskip 1in\baselineskip 9pt plus .1pt minus .1pt +--- 437,443 ---- + \section Appendix F: The \.{TRIP.TYP} file. + Here is another major component of the test. It shows the output of \.{DVItype} + applied to the file \.{TRIP.DVI} that was created at the same time +! \appref E was produced. + \runninghead{APPENDIX F: \.{TRIP.TYP} (CONTINUED)} + + {\let\tt=\eighttt\leftskip 1in\baselineskip 9pt plus .1pt minus .1pt +*************** +*** 395,401 **** + + \section Appendix G: The \.{TRIPOS.TEX} file. + This short file was written out once and read in twice, during the time +! Appendix E was being produced. There are only three lines, the first of + which is blank. + \runninghead{APPENDIX G: \.{TRIPOS.TEX} (CONTINUED)} + +--- 448,454 ---- + + \section Appendix G: The \.{TRIPOS.TEX} file. + This short file was written out once and read in twice, during the time +! \appref E was being produced. There are only three lines, the first of + which is blank. + \runninghead{APPENDIX G: \.{TRIPOS.TEX} (CONTINUED)} + +*************** +*** 404,410 **** + \vfill\eject + + \section Appendix H: The \.{TRIP.FOT} file. +! This shows what appeared on the terminal while Appendix E was being produced. + \runninghead{APPENDIX H: \.{TRIP.FOT} (CONTINUED)} + + \vskip8pt +--- 457,463 ---- + \vfill\eject + + \section Appendix H: The \.{TRIP.FOT} file. +! This shows what appeared on the terminal while \appref E was being produced. + \runninghead{APPENDIX H: \.{TRIP.FOT} (CONTINUED)} + + \vskip8pt diff --git a/Master/texmf-dist/source/latex/latex-tds/patch/webman.tex.diff b/Master/texmf-dist/source/latex/latex-tds/patch/webman.tex.diff new file mode 100644 index 00000000000..c3a827ac8ff --- /dev/null +++ b/Master/texmf-dist/source/latex/latex-tds/patch/webman.tex.diff @@ -0,0 +1,340 @@ +*** webman.tex.org 1990-09-06 02:00:00.000000000 +0200 +--- webman.tex 2008-07-10 15:03:49.000000000 +0200 +*************** +*** 13,25 **** + \def\pb{\.{|...|}} + \def\lpile{\def\cr{\hfill\endline}\matrix} % I only use \lpile by itself + +! \outer\def\section #1.{\penalty-50\vskip 12pt plus 3pt minus 3pt +! \noindent{\bf #1.}\quad\ignorespaces} + + \def\lheader{\mainfont\the\pageno\hfill\sc\runninghead\hfill} + \def\rheader{\hfill\sc\runninghead\hfill\mainfont\the\pageno} + \def\runninghead{{\tentt WEB} USER MANUAL} + + % This verbatim mode assumes that no ? appears in the text being copied. + \def\verbatim{\begingroup + \def\do##1{\catcode`##1=12 } \dospecials +--- 13,76 ---- + \def\pb{\.{|...|}} + \def\lpile{\def\cr{\hfill\endline}\matrix} % I only use \lpile by itself + +! \newcount\destcount +! \destcount=1\relax +! +! \def\bkminfo{} +! \outer\def\section #1.{% +! \penalty-50\vskip 12pt plus 3pt minus 3pt +! \noindent +! \vbox to 0pt{% +! \kern-2.5ex\relax +! \pdfdest num\destcount fitbh\relax +! \def\.##1{##1}% +! \ifx\bkminfo\empty +! \pdfoutline goto num\destcount{#1}\relax +! \else +! \pdfoutline goto num\destcount{#1 (\bkminfo)}\relax +! \fi +! \gdef\bkminfo{}% +! \global\advance\destcount by 1\relax +! \kern2.5ex\relax +! }% +! {\bf #1.}\quad\ignorespaces +! } + + \def\lheader{\mainfont\the\pageno\hfill\sc\runninghead\hfill} + \def\rheader{\hfill\sc\runninghead\hfill\mainfont\the\pageno} + \def\runninghead{{\tentt WEB} USER MANUAL} + ++ \pdfinfo{% ++ /Author(Donald E. Knuth)% ++ /Title(WEB User Manual)% ++ } ++ ++ \def\LinkColor{% ++ \pdfliteral{1 0 0 rg}% ++ } ++ \def\Black{% ++ \pdfliteral{0 g}% ++ } ++ \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\appref#1{% ++ \leavevmode ++ \ifnum\csname app#1\endcsname>0 % ++ \pdfstartlink attr{/Border[0 0 0]} goto num\csname app#1\endcsname\relax ++ \LinkColor\hbox{Appendix}~#1\Black ++ \pdfendlink ++ \else ++ Appendix~#1% ++ \fi ++ } ++ + % This verbatim mode assumes that no ? appears in the text being copied. + \def\verbatim{\begingroup + \def\do##1{\catcode`##1=12 } \dospecials +*************** +*** 624,630 **** + `\.{@\{}' is converted into `\.[', since \PASCAL\ does not allow + nested comments. Incidentally, module numbers are automatically inserted + as meta-comments into the \PASCAL\ program, in order to help correlate the +! outputs of \.{WEAVE} and \.{TANGLE} (see Appendix~C\null). Meta-comments + can be used to put conditional text into a \PASCAL\ program; this helps to + overcome one of the limitations of \.{WEB}, since the simple macro + processing routines of \.{TANGLE} do not include the dynamic evaluation of +--- 675,681 ---- + `\.{@\{}' is converted into `\.[', since \PASCAL\ does not allow + nested comments. Incidentally, module numbers are automatically inserted + as meta-comments into the \PASCAL\ program, in order to help correlate the +! outputs of \.{WEAVE} and \.{TANGLE} (see \appref C\null). Meta-comments + can be used to put conditional text into a \PASCAL\ program; this helps to + overcome one of the limitations of \.{WEB}, since the simple macro + processing routines of \.{TANGLE} do not include the dynamic evaluation of +*************** +*** 757,763 **** + characters as output if the input consists entirely of ASCII characters. + + 2. If you have an extended character set, all of the characters listed +! in Appendix C of {\sl The \TeX book\/} can be used in strings. But you should + stick to standard ASCII characters if you want to write programs that will + be useful to all the poor souls out there who don't have extended + character sets. +--- 808,814 ---- + characters as output if the input consists entirely of ASCII characters. + + 2. If you have an extended character set, all of the characters listed +! in \appref C of {\sl The \TeX book\/} can be used in strings. But you should + stick to standard ASCII characters if you want to write programs that will + be useful to all the poor souls out there who don't have extended + character sets. +*************** +*** 890,912 **** + to time. + \section Appendices. + The basic ideas of \.{WEB} can be understood most easily by looking at +! 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 + from the corresponding \PASCAL\ code output by \.{TANGLE}. + + The complete webs for \.{WEAVE} and \.{TANGLE} appear as the bulk of this +! 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} + and \.{TANGLE} contain several interesting aspects, and since an attempt + has been made in these appendices to evolve a style of programming that + makes good use of the \.{WEB} language. + +! 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 + when \.{WEAVE} and \.{TANGLE} are installed in a new operating environment. + \section Performance statistics. + The programs in Appendices D and E will optionally keep statistics on +--- 941,963 ---- + to time. + \section Appendices. + The basic ideas of \.{WEB} can be understood most easily by looking at +! examples of ``real'' programs. \appref A shows the \.{WEB} input that +! generated modules 55--59 of the \.{WEAVE} program; \appref B shows the +! corresponding \TeX\ code output by \.{WEAVE}; and \appref C shows excerpts + from the corresponding \PASCAL\ code output by \.{TANGLE}. + + The complete webs for \.{WEAVE} and \.{TANGLE} appear as the bulk of this +! report, in Appendices D and~E. The reader should first compare \appref A +! to the corresponding portion of \appref 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} + and \.{TANGLE} contain several interesting aspects, and since an attempt + has been made in these appendices to evolve a style of programming that + makes good use of the \.{WEB} language. + +! Finally, \appref F is the `\.{webmac}' file that sets \TeX\ up to accept +! the output of \.{WEAVE}; \appref G discusses how to use some of its macros +! to vary the output formats; and \appref H discusses what needs to be done + when \.{WEAVE} and \.{TANGLE} are installed in a new operating environment. + \section Performance statistics. + The programs in Appendices D and E will optionally keep statistics on +*************** +*** 985,992 **** + }} + \eject + \def\runninghead{APPENDIX A --- {\tentt WEB} FILE FORMAT} + \section Appendix A. +! This excerpt from \.{WEAVE.WEB} produced modules 55--59 in Appendix~D. + Note that some of the lines are indented to show the program structure. + The indentation is ignored by \.{WEAVE} and \.{TANGLE}, but users find + that \.{WEB} files are quite readable if they have some such indentation. +--- 1036,1044 ---- + }} + \eject + \def\runninghead{APPENDIX A --- {\tentt WEB} FILE FORMAT} ++ \def\bkminfo{WEB file format} + \section Appendix A. +! This excerpt from \.{WEAVE.WEB} produced modules 55--59 in \appref D. + Note that some of the lines are indented to show the program structure. + The indentation is ignored by \.{WEAVE} and \.{TANGLE}, but users find + that \.{WEB} files are quite readable if they have some such indentation. +*************** +*** 1057,1064 **** + \endgroup + \vfill\eject + \def\runninghead{APPENDIX B --- TRANSLATION BY {\tentt WEAVE}} + \section Appendix B. +! This excerpt from \.{WEAVE.TEX} corresponds to Appendix A. + + % I've inserted \vfill's here at the blank lines, to squeeze this on one page! + \begingroup \def\tt{\eighttt} \baselineskip9pt +--- 1109,1117 ---- + \endgroup + \vfill\eject + \def\runninghead{APPENDIX B --- TRANSLATION BY {\tentt WEAVE}} ++ \def\bkminfo{Translation by weave} + \section Appendix B. +! This excerpt from \.{WEAVE.TEX} corresponds to \appref A. + + % I've inserted \vfill's here at the blank lines, to squeeze this on one page! + \begingroup \def\tt{\eighttt} \baselineskip9pt +*************** +*** 1139,1144 **** +--- 1192,1198 ---- + \endgroup + \eject + \def\runninghead{APPENDIX C --- TRANSLATION BY {\tentt TANGLE}} ++ \def\bkminfo{Translation by tangle} + \section Appendix C. + The \.{TANGLE} processor converts \.{WEAVE.WEB} into a syntactically + correct (but not very pretty) \PASCAL\ program \.{WEAVE.PAS}. +*************** +*** 1458,1470 **** + opposite sides of each sheet. + + \point 6. The \.{\\title} macro will appear at the top of each page +! in small caps. For example, Appendix~D was produced after saying + `\.{\\def\\title\{WEAVE\}}'. + + \point 7. The first page usually is assigned page number 1. + To start on page 16, with contents + on page 15, say this: `\.{\\def\\contentspagenumber\{15\}} +! \.{\\pageno=\\contentspagenumber} \.{\\advance\\pageno by 1}'. (Appendix~D + was generated that way.) + + \point 8. The macro \.{\\iftitle} will suppress the header line if it is +--- 1512,1524 ---- + opposite sides of each sheet. + + \point 6. The \.{\\title} macro will appear at the top of each page +! in small caps. For example, \appref D was produced after saying + `\.{\\def\\title\{WEAVE\}}'. + + \point 7. The first page usually is assigned page number 1. + To start on page 16, with contents + on page 15, say this: `\.{\\def\\contentspagenumber\{15\}} +! \.{\\pageno=\\contentspagenumber} \.{\\advance\\pageno by 1}'. (\appref D + was generated that way.) + + \point 8. The macro \.{\\iftitle} will suppress the header line if it is +*************** +*** 1475,1484 **** + Two macros are provided to give flexibility to the table of + contents: \.{\\topofcontents} is invoked just before the contents + info is read, and \.{\\botofcontents} is invoked just after. +! For example, Appendix~D was produced with the following definitions: + $$\lpile{\.{\\def\\topofcontents\{\\null\\vfill}\cr + \.{ { }\\titlefalse \% include headline on the contents page}\cr +! \.{ { }\\def\\rheader\{\\mainfont Appendix D\\hfil 15\}}\cr + \.{ { }\\centerline\{\\titlefont The \{\\ttitlefont WEAVE\}{ }processor\}}\cr + \.{ { }\\vskip 15pt \\centerline\{(Version 4)\}{ }\\vfill\}}\cr}$$ + Redefining \.{\\rheader}, which is the headline for right-hand pages, +--- 1529,1538 ---- + Two macros are provided to give flexibility to the table of + contents: \.{\\topofcontents} is invoked just before the contents + info is read, and \.{\\botofcontents} is invoked just after. +! For example, \appref D was produced with the following definitions: + $$\lpile{\.{\\def\\topofcontents\{\\null\\vfill}\cr + \.{ { }\\titlefalse \% include headline on the contents page}\cr +! \.{ { }\\def\\rheader\{\\mainfont \appref D\\hfil 15\}}\cr + \.{ { }\\centerline\{\\titlefont The \{\\ttitlefont WEAVE\}{ }processor\}}\cr + \.{ { }\\vskip 15pt \\centerline\{(Version 4)\}{ }\\vfill\}}\cr}$$ + Redefining \.{\\rheader}, which is the headline for right-hand pages, +*************** +*** 1487,1493 **** + + \point 9. Data for the table of contents is written to a file that + is read after the indexes have been \TeX ed; there's one line of data +! for every starred module. For example, when Appendix~D was being generated, + a file \.{CONTENTS.TEX} containing + $$\lpile{\.{\\Z \{{ }Introduction\}\{1\}\{16\}}\cr + \.{\\Z \{{ }The character set\}\{11\}\{19\}}\cr}$$ +--- 1541,1547 ---- + + \point 9. Data for the table of contents is written to a file that + is read after the indexes have been \TeX ed; there's one line of data +! for every starred module. For example, when \appref D was being generated, + a file \.{CONTENTS.TEX} containing + $$\lpile{\.{\\Z \{{ }Introduction\}\{1\}\{16\}}\cr + \.{\\Z \{{ }The character set\}\{11\}\{19\}}\cr}$$ +*************** +*** 1579,1585 **** + \.{TANGLE.PAS}, and \.{WEBMAC.TEX}. The tape will probably also contain an + example change file \.{TANGLE.CH}. + \step(2) Look at the sections of \.{TANGLE} that are listed under ``system +! dependencies'' in the index of Appendix~E above, and figure out what changes + (if any) will be needed for your system. + \step(3) Make a change file \.{TANGLE.CH} that contains the changes of~(2); + do not change your copy of \.{TANGLE.WEB}, leave it intact. (The +--- 1633,1639 ---- + \.{TANGLE.PAS}, and \.{WEBMAC.TEX}. The tape will probably also contain an + example change file \.{TANGLE.CH}. + \step(2) Look at the sections of \.{TANGLE} that are listed under ``system +! dependencies'' in the index of \appref E above, and figure out what changes + (if any) will be needed for your system. + \step(3) Make a change file \.{TANGLE.CH} that contains the changes of~(2); + do not change your copy of \.{TANGLE.WEB}, leave it intact. (The +*************** +*** 1605,1622 **** + working \.{TANGLE} program. + \step(7) Make a change file \.{WEAVE.CH} analogous to (3), but this time + consider the system-dependent parts of \.{WEAVE} that are listed in +! the index to Appendix~D. + \step(8) Run \.{TANGLE} on \.{WEAVE.WEB} and your \.{WEAVE.CH}, obtaining + \.{WEAVE.PAS}. + \step(9) Use \PASCAL\ on \.{WEAVE.PAS} to make a running \.{WEAVE} program. + \step(10) Run \.{WEAVE} on \.{TANGLE.WEB} and \.{TANGLE.CH} to produce + \.{TANGLE.TEX}. + \step(11) Run \TeX\ on \.{TANGLE.TEX}, obtaining a listing analogous to +! Appendix~E. This listing will incorporate your changes. + \step(12) Run \.{WEAVE} on \.{WEAVE.WEB} and your \.{WEAVE.CH} to produce + \.{WEAVE.TEX}. + \step(13) Run \TeX\ on \.{WEAVE.TEX}, obtaining a listing analogous to +! Appendix~D that incorporates your changes. + + \yskip\noindent + This description assumes that you already have a working \TeX82 system. +--- 1659,1676 ---- + working \.{TANGLE} program. + \step(7) Make a change file \.{WEAVE.CH} analogous to (3), but this time + consider the system-dependent parts of \.{WEAVE} that are listed in +! the index to \appref D. + \step(8) Run \.{TANGLE} on \.{WEAVE.WEB} and your \.{WEAVE.CH}, obtaining + \.{WEAVE.PAS}. + \step(9) Use \PASCAL\ on \.{WEAVE.PAS} to make a running \.{WEAVE} program. + \step(10) Run \.{WEAVE} on \.{TANGLE.WEB} and \.{TANGLE.CH} to produce + \.{TANGLE.TEX}. + \step(11) Run \TeX\ on \.{TANGLE.TEX}, obtaining a listing analogous to +! \appref E. This listing will incorporate your changes. + \step(12) Run \.{WEAVE} on \.{WEAVE.WEB} and your \.{WEAVE.CH} to produce + \.{WEAVE.TEX}. + \step(13) Run \TeX\ on \.{WEAVE.TEX}, obtaining a listing analogous to +! \appref D that incorporates your changes. + + \yskip\noindent + This description assumes that you already have a working \TeX82 system. |