diff options
Diffstat (limited to 'info/examples/tex-in-practice/verbwr.tip')
-rw-r--r-- | info/examples/tex-in-practice/verbwr.tip | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/info/examples/tex-in-practice/verbwr.tip b/info/examples/tex-in-practice/verbwr.tip new file mode 100644 index 0000000000..e243f82bcf --- /dev/null +++ b/info/examples/tex-in-practice/verbwr.tip @@ -0,0 +1,86 @@ +% This macro source file is from the four volume series +% "TeX in Practice" by Stephan von Bechtolsheim, published +% 1993 by Springer-Verlag, New York. +% Copyright 1993 Stephan von Bechtolsheim. +% No warranty or liability is assumed. +% This macro may be copied freely if no fees other than +% media cost or shipping charges are charged and as long +% as this copyright and the following source code itself +% is not changed. Please see the series for further information. +% +% Version: 1.0 +% Date: May 1, 1993 +% +% +% This source code is documented in 29.3.2, p. III-506. +% Original source in file "io2.TEX", starting line 973. +\wlog{L: "verbwr.tip" ["io2.TEX," l. 973, p. III-506]}% +% This file DOES belong to format "texip." +\InputD{verb-bas.tip} +\InputD{futlet.tip} +\InputD{genaeol.tip} +\InputD{futlet.tip} +\InputD{gobblemo.tip} +\InputD{cstostrc.tip} +\catcode`\@ = 11 +\newif\if@VerbFirstLineSuppress +\def\OpenVerbWrFile #1#2#3{% + \immediate\openout #3 = #1.#2 + \wlog{\string\OpenVerbWrFile: opened "#1.#2" for + literal writing.}% +} +\def\CloseVerbWrFile #1{% + \immediate\closeout #1 + \wlog{\string\CloseVerbWrFile: closed file for literal writing.}% +} +\def\BeginVerbWr #1#2{% + \begingroup + \def\@VerbWrStream{#1}% + \CSToStringCat{\@EndVerbWrSt}{#2}% + \wlog{\string\BeginVerbWr: begin}% + \MkOthers + \MakeEolActive + \@VerbWrTabHandling + \@VerbFirstLineSuppresstrue + \expandafter\expandafter\expandafter + \@BeginVerbWrY\expandafter{\@EndVerbWrSt}% +} +{ + \catcode `| = 0 + \catcode`\\ =12 + |gdef|@BeginVerbWrY #1{% + |def|@BeginVerbWrX ##1\#1{% + |@BeginVerbWr ##1% + |@VerbWrDoneToken + |@VerbWrDone + } + |@BeginVerbWrX + } +} +\def\@VerbWrTabHandling{% + \MakeTabActive + \@VerbWrTabHandlingOne +} +{\MakeTabActive +\gdef\@VerbWrTabHandlingOne{\def^^I{\@TabAsLiteral}}% +} +\def\@BeginVerbWr{% + \DoFutureLet{\ifx}% + {\@VerbWrDoneToken}% + {\GobbleDoMore + {\@VerbWrDoneToken}{\relax}}% + {\@BeginVerbWrTwo}% +} +\GenAeol{\@BeginVerbWrTwo}{% + \if@VerbFirstLineSuppress + \@VerbFirstLineSuppressfalse + \else + \immediate\write\@VerbWrStream{#1}% + \fi + \@BeginVerbWr +} +\def\@VerbWrDone{% + \endgroup + \wlog{\string\@VerbWrDone: done}% +} +\catcode`\@ = 12 |