diff options
Diffstat (limited to 'info/examples/tex-in-practice/verbdisp.tip')
-rw-r--r-- | info/examples/tex-in-practice/verbdisp.tip | 244 |
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 |