summaryrefslogtreecommitdiff
path: root/info/examples/tex-in-practice/ts-wind.tip
diff options
context:
space:
mode:
Diffstat (limited to 'info/examples/tex-in-practice/ts-wind.tip')
-rw-r--r--info/examples/tex-in-practice/ts-wind.tip174
1 files changed, 174 insertions, 0 deletions
diff --git a/info/examples/tex-in-practice/ts-wind.tip b/info/examples/tex-in-practice/ts-wind.tip
new file mode 100644
index 0000000000..fbb94c0c33
--- /dev/null
+++ b/info/examples/tex-in-practice/ts-wind.tip
@@ -0,0 +1,174 @@
+% 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.1.5, p. III-492.
+% Original source in file "io2.TEX", starting line 209.
+\wlog{L: "ts-wind.tip" ["io2.TEX," l. 209, p. III-492]}%
+% This file DOES belong to format "texip."
+\InputD{verb-bas.tip}
+\InputD{cstostr.tip}
+\InputD{compst.tip}
+\newif\ifIndexSpecial
+\IndexSpecialfalse
+\catcode`\@ = 11
+\newwrite\IdxStream
+\newwrite\IdxStreamSource
+\newif\if@IndexFilesOpen
+\@IndexFilesOpenfalse
+\def\OpenIndexFiles #1{%
+ \if\EmptyStringConditional{#1}%
+ \gdef\@IndexFileBaseName{\jobname}%
+ \else
+ \gdef\@IndexFileBaseName{#1}%
+ \fi
+ \if@IndexFilesOpen
+ \message{\string\OpenIndexFiles: index files
+ already open.}%
+ \message{\string\OpenIndexFiles: will close
+ old files, open new ones with basename
+ "\@IndexFileBaseName".}%
+ \immediate\closeout\IdxStream
+ \immediate\closeout\IdxStreamSource
+ \fi
+ \@IndexFilesOpentrue
+ \immediate\openout\IdxStream = \@IndexFileBaseName.idx
+ \immediate\openout\IdxStreamSource = \@IndexFileBaseName.idx2
+ \SetIndexStream{\IdxStream}%
+}
+\def\CloseIndexFiles{%
+ \if@IndexFilesOpen
+ \immediate\closeout\IdxStream
+ \immediate\closeout\IdxStreamSource
+ \@IndexFilesOpenfalse
+ \fi
+}
+\def\SetIndexStream #1{%
+ \let\IdxStreamUse = #1%
+}
+\def\Index{%
+ \begingroup
+ \MkOthersNoCB
+ \@Index
+}
+\xdef\@IndexSuffixMod{}%
+\def\@Index #1{%
+ \let\PrintCounter = \relax
+ \xdef\IndexTemp{%
+ \write\IdxStreamUse{%
+ \string\indexentry{#1\@IndexSuffixMod}%
+ {\PrintCounter{SWPageNo}}}%
+ }%
+ \ifIndexSpecial
+ \SideNoteText{I: #1}%
+ \fi
+ \xdef\@IndexSuffixMod{}%
+ \endgroup
+ \IndexTemp
+}
+\def\IndexP #1{%
+ \Index{#1}%
+ #1%
+}
+\def\IndexCS #1{%
+ \CSToString{\@IndexCSTemp}{#1}%
+ \expandafter\expandafter\expandafter
+ \Index{%
+ \@IndexCSTemp
+ @%
+ {%
+ \string\tt
+ \string\string
+ \string#1%
+ }%
+ }%
+}
+\def\IndexCSX #1{%
+ \CSToString{\@IndexCSTemp}{#1}%
+ \expandafter\expandafter\expandafter
+ \Index{%
+ #1%
+ @%
+ {%
+ \string\tt
+ \string\string
+ \Backslash#1%
+ }%
+ }%
+}
+\def\IndexCSP #1{%
+ \IndexCS{#1}%
+ {\tt\string#1}%
+}
+\def\IndexPrim #1{%
+ \CSToString{\@IndexCSTemp}{#1}%
+ \expandafter\expandafter\expandafter
+ \Index{\@IndexCSTemp @%
+ {\string\tt\string\string\string#1}|PRIMITIVE}%
+}
+\def\IndexPrimP #1{%
+ \IndexPrim{#1}%
+ {\tt\string #1}%
+}
+\def\IndexPar{\Index{par@\string\PrintParPrimitive}}
+\def\PrintParPrimitive{\BackslashTt{\tt par}}
+\def\IndexBye{\Index{bye@\string\PrintByePrimitive}}
+\def\PrintByePrimitive{\BackslashTt{\tt bye}}
+\def\IndexIf{\Index{if@\string\PrintIf|PRIMITIVE}}
+\def\PrintIf{{\tt\string\if}}
+\def\IndexElse{\Index{else@\string\PrintElse|PRIMITIVE}}
+\def\PrintElse{{\tt\string\else}}
+\def\IndexFi{\Index{fi@\string\PrintFi|PRIMITIVE}}
+\def\PrintFi{{\tt\string\fi}}
+\def\IndexIfCase{\Index{ifcase@\string\PrintIfCase|PRIMITIVE}}
+\def\PrintIfCase{{\tt\string\ifcase}}
+\def\IndexIfCat{\Index{ifcat@\string\PrintIfCat|PRIMITIVE}}
+\def\PrintIfCat{{\tt\string\ifcat}}
+\def\IndexIfX{\Index{ifx@\string\PrintIfX|PRIMITIVE}}
+\def\PrintIfX{{\tt\string\ifx}}
+\def\IndexIfOdd{\Index{ifodd@\string\PrintIfOdd|PRIMITIVE}}
+\def\PrintIfOdd{{\tt\string\ifodd}}
+\def\IndexIfHbox{\Index{ifhbox@\string\PrintIfHbox|PRIMITIVE}}
+\def\PrintIfHbox{{\tt\string\ifhbox}}
+\def\IndexIfVbox{\Index{ifvbox@\string\PrintIfVbox|PRIMITIVE}}
+\def\PrintIfVbox{{\tt\string\ifvbox}}
+\def\IndexIfVoid{\Index{ifvoid@\string\PrintIfVoid|PRIMITIVE}}
+\def\PrintIfVoid{{\tt\string\ifvoid}}
+\def\IndexIfNum{\Index{ifnum@\string\PrintIfNum|PRIMITIVE}}
+\def\PrintIfNum{{\tt\string\ifnum}}
+\def\IndexIfDim{\Index{ifdim@\string\PrintIfDim|PRIMITIVE}}
+\def\PrintIfDim{{\tt\string\ifdim}}
+\def\IndexIfHmode{\Index{ifhmode@\string\PrintIfHmode|PRIMITIVE}}
+\def\PrintIfHmode{{\tt\string\ifhmode}}
+\def\IndexIfVmode{\Index{ifvmode@\string\PrintIfVmode|PRIMITIVE}}
+\def\PrintIfVmode{{\tt\string\ifvmode}}
+\def\IndexIfMmode{\Index{ifvmode@\string\PrintIfMmode|PRIMITIVE}}
+\def\PrintIfMmode{{\tt\string\ifvmode}}
+\def\IndexIfInner{\Index{ifinner@\string\PrintIfInner|PRIMITIVE}}
+\def\PrintIfInner{{\tt\string\ifinner}}
+\def\IndexIfEof{\Index{ifeof@\string\PrintIfEof|PRIMITIVE}}
+\def\PrintIfEof{{\tt\string\ifeof}}%
+\def\IndexIfTrue{\Index{iftrue@\string\PrintIfTrue|PRIMITIVE}}
+\def\PrintIfTrue{{\tt\string\iftrue}}%
+\def\IndexIfFalse{\Index{iffalse@\string\PrintIfFalse|PRIMITIVE}}
+\def\PrintIfFalse{{\tt\string\iffalse}}%
+\def\IndexRepeat{\Index{repeat@\string\PrintRepeat}}
+\def\PrintRepeat{{\tt\string\repeat}}%
+\xdef\@IndexSuffixMod{}%
+\def\IndexPSet #1{%
+ \CSToString{\@IndexPSetResult}{#1}%
+ \xdef\@IndexSuffixMod{|IndexP\@IndexPSetResult}%
+}
+\def\IndexPit #1{{\it #1}}
+\def\IndexPbf #1{{\bf #1}}
+\catcode`\@ = 12