summaryrefslogtreecommitdiff
path: root/info/examples/tex-in-practice/verbdisp.tip
diff options
context:
space:
mode:
Diffstat (limited to 'info/examples/tex-in-practice/verbdisp.tip')
-rw-r--r--info/examples/tex-in-practice/verbdisp.tip244
1 files changed, 244 insertions, 0 deletions
diff --git a/info/examples/tex-in-practice/verbdisp.tip b/info/examples/tex-in-practice/verbdisp.tip
new file mode 100644
index 0000000000..9cf598d474
--- /dev/null
+++ b/info/examples/tex-in-practice/verbdisp.tip
@@ -0,0 +1,244 @@
+% 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 18.3.13, p. III-45.
+% Original source in file "tokens1.TEX", starting line 2639.
+\wlog{L: "verbdisp.tip" ["tokens1.TEX," l. 2639, p. III-45]}%
+% This file DOES belong to format "texip."
+\InputD{everypar.tip}
+\InputD{futpar.tip}
+\InputD{parin.tip}
+\InputD{verb-bas.tip}
+\InputD{testdef.tip}
+\InputD{gobble.tip}
+\InputD{loadedla.tip}
+\newdimen\LeftSkipVerbatim
+\LeftSkipVerbatim = 0.3in
+\def\VerbatimFont{\tt}
+\newcount\VerbatimTab
+\VerbatimTab = 8
+\newif\ifVerbLineNum
+\VerbLineNumtrue
+\newskip\DisplayVerbatimVskip
+\DisplayVerbatimVskip = 0pt plus 2pt minus 1pt
+\newif\ifCaretTab
+\CaretTabfalse
+\newtoks\VerbatimTokBegin \VerbatimTokBegin = {}
+\newtoks\VerbatimTokLine \VerbatimTokLine = {}
+\newtoks\VerbatimTokEnd \VerbatimTokEnd = {}
+\catcode`\@ = 11
+\newdimen\@VerbatimLr
+\@VerbatimLr = 1.5pt
+\newif\if@IgnoreFirstNewLine
+\if\FormatIsLaTeXConditional
+ \def\@VerbatimPar{\par\@@par}%
+ \def\@VerbatimNlf{\tiny}%
+\else
+ \def\@VerbatimPar{\par}%
+ \def\@VerbatimNlf{\tiny}%
+\fi
+\newcount\@VerbatimLineNumber
+\newif\if@VerbatimL
+\newdimen\Verb@TabSize
+\def\@VObeySpaces{%
+ \MakeActive{\ }%
+ \@@VObeySpaces
+}
+{%
+\MakeActive{\ }%
+\gdef\@@VObeySpaces{%
+\def {\VerbControlSpace}%
+}%
+}
+\def\@VObeyTabs{%
+ \MakeTabActive
+ \@@VObeyTabs
+}
+{
+ \MakeTabActive
+ \gdef\@@VObeyTabs{%
+ \def^^I{\Verb@Tab}%
+ }
+}
+\def\Verb@Tab{%
+ \leavevmode
+ \egroup
+ \dimen0 = \wd0
+ \divide\dimen0 by \Verb@TabSize
+ \advance\dimen0 by 1sp
+ \multiply\dimen0 by \Verb@TabSize
+ \wd0 = \dimen0
+ \box0
+ \setbox 0 = \hbox\bgroup
+}
+\def\@VObeyEol{%
+ \MakeEolActive %
+ \@@VObeyEol
+}
+{
+ \MakeEolActive %
+ \gdef\@@VObeyEol{%
+ \let^^M = \Verb@Eol%
+ }%
+}
+\def\Verb@Eol{%
+ \if@IgnoreFirstNewLine
+ \else
+ \leavevmode
+ \egroup
+ \box 0
+ \endgraf
+ \fi
+ \@IgnoreFirstNewLinefalse
+}
+\def\@VCaret{%
+ \MakeActive{\^}%
+ \@@VCaret
+}
+{
+ \MakeActive{\^}%
+ \gdef\@@VCaret{%
+ \def^{%
+ \futurelet\@VSymbol\@@VCaretTwo
+ }%
+ \def\@@VCaretTwo{%
+ \ifx \@VSymbol^%
+ \let\@VerbNext = \@@VCaretThree
+ \else
+ \CaretText
+ \let\@VerbNext = \relax
+ \fi
+ \@VerbNext
+ }%
+ \def\@@VCaretThree ^{%
+ \futurelet\@VSymbol\@@VCaretFour
+ }%
+ \def\@@VCaretFour{%
+ \ifx \@VSymbol I%
+ \Verb@Tab
+ \else
+ \CaretText\CaretText\@VSymbol
+ \fi
+ \GobbleOne
+ }%
+ }%
+}
+\def\@StartVerbatim #1{%
+ \begingroup
+ \@VerbatimPar
+ \vskip\DisplayVerbatimVskip
+ \if\FormatIsLaTeXConditional
+ \else
+ \CancelSuppressNextParIndent
+ \fi
+ \setbox0 = \hbox{\VerbatimFont X}
+ \Verb@TabSize = \wd0
+ \multiply\Verb@TabSize by \VerbatimTab
+ \parskip = 0pt
+ \parindent = 0pt
+ \leftskip = \LeftSkipVerbatim
+ \rightskip = 0pt
+ \parfillskip = 0pt plus 1fil
+ \spaceskip = 0pt
+ \xspaceskip = 0pt
+ \VerbatimFont
+ \if@VerbatimL
+ \else
+ \global\@VerbatimLineNumber = 0
+ \fi
+ \global\@VerbatimLfalse
+ \ifnum #1 = 0
+ \@IgnoreFirstNewLinetrue
+ \else
+ \@IgnoreFirstNewLinefalse
+ \fi
+ \if\FormatIsLaTeXConditional
+ \everypar = {\EveryParZ}%
+ \fi
+ \def\EveryParZ{%
+ \the\VerbatimTokLine
+ \global\advance\@VerbatimLineNumber by 1
+ \ifVerbLineNum
+ \raise \@VerbatimLr \hbox to 0pt{%
+ \hss
+ \@VerbatimNlf
+ \the\@VerbatimLineNumber
+ \hskip 10pt
+ }%
+ \fi
+ \setbox 0 = \hbox\bgroup
+ }%
+ \MkOthers
+ \@VObeySpaces
+ \@VObeyTabs
+ \@VObeyEol
+ \ifCaretTab
+ \@VCaret
+ \fi
+}
+\def\@DoneVerbatim{%
+ \endgroup
+ \vskip\DisplayVerbatimVskip
+ \def\@VerbatimEndSpecialDeal{}%
+ \if\FormatIsLaTeXConditional
+ \else
+ \def\@VerbatimEndSpecialDeal{%
+ \ParLookAhead
+ {\SuppressNextParIndent}%
+ {}
+ }%
+ \fi
+ \@VerbatimEndSpecialDeal
+}
+\def\BeginVerbatim{%
+ \@StartVerbatim{0}%
+ \@BeginVerbatim
+}
+{ \catcode `| = 0 % | becomes escape character.
+ \catcode`\\ =12 % \ becomes regular character.
+ |gdef|@BeginVerbatim #1\EndVerbatim{%
+ #1%
+ |@DoneVerbatim
+ }
+}
+\def\BVerB{%
+ \@StartVerbatim{0}%
+ \@BVerB
+}
+{
+ \catcode `| = 0 % | becomes escape character.
+ \catcode`\\ =12 % \ becomes regular character.
+ |gdef|@BVerB #1\EVerB{%
+ #1%
+ |@DoneVerbatim
+ }
+}
+\def\AppendVerbatimL #1{%
+ \global\@VerbatimLtrue
+ \global\advance\@VerbatimLineNumber by #1\relax
+}
+\def\StartVerbatimL #1{%
+ \global\@VerbatimLtrue
+ \global\@VerbatimLineNumber = #1\relax
+}
+\newcount\@SaveVerbatimLineNumber
+\def\PushVerbatimL{%
+ \global\@SaveVerbatimLineNumber = \@VerbatimLineNumber
+ \global\VerbLineNumfalse
+}
+\def\PopVerbatimL{%
+ \global\@VerbatimLineNumber = \@SaveVerbatimLineNumber
+ \global\VerbLineNumtrue
+}
+\catcode`\@ = 12