summaryrefslogtreecommitdiff
path: root/info/examples/tex-in-practice/verbwr.tip
diff options
context:
space:
mode:
Diffstat (limited to 'info/examples/tex-in-practice/verbwr.tip')
-rw-r--r--info/examples/tex-in-practice/verbwr.tip86
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