blob: cac8e3acdbf428215ca4c8714474852ad6845946 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
% aplverb.tex = verbatim.tex
%
%
% F|ljande macron anv{nds d} man vill f} ut \TeX-kommandon
% i klartext. @text@ ger text i fonten \tt med alla kontroll-
% tecken och dylika bevarade (\TeX\ f|rst}r sig endast p} kommandot
% @ i denna mode). Man kan ocks} utnyttja \begintt ... \endtt f|r
% att beskriva kommandon, d} {r ocks} \obeylines och \obeyspaces
% aktiva. Om man vill anv{nda vissa \TeX-kommandon men vill
% ocks} displaya n}got i en-kolumn-tabell-form kan man anv{nda
% \begindisplay ...\cr ...\cr \enddisplay
% Om du vill anv{nda \begintt...\endtt f|r text som inte
% ryms p} en sida, kan du ocks} anv{nda \beginlines...\endlines.
% Varje rad m}ste d} b|rjas och avslutas med kommandot @.
\newskip\verbatimindent \verbatimindent=0cm
\newskip\ttglue{\tt \global\ttglue=.5em plus.25em minus.15em}
\def\@{\char'100 }
%
\outer\def\begindisplay{\obeylines\startdisplay}
{\obeylines\gdef\startdisplay#1
{\catcode`\^^M=5$$#1\halign\bgroup&\hskip\verbatimindent##\hfil\cr}}
\outer\def\enddisplay{\crcr\egroup$$}
%
\chardef\other=12
\def\ttverbatim{\begingroup \catcode`\\=\other \catcode`\{=\other
\catcode`\}=\other \catcode`\$=\other \catcode`\&=\other
\catcode`\#=\other \catcode`\%=\other \catcode`\~=\other
\catcode`\_=\other \catcode`\^=\other\catcode`\*=\other\catcode`\==\other
\obeyspaces \obeylines \tt}
{\obeyspaces\gdef {\ }}
%
\def\begintt{$$\let\par=\endgraf \ttverbatim \parskip=0pt
\catcode`\@=0 \parindent=\verbatimindent \rightskip=-5pc \ttfinish}
{\catcode`\@=0 @catcode`@\=\other % @ is temporary escape character
@obeylines % end of line is active
@gdef@ttfinish#1^^M#2\endtt{#1@vbox{#2}@endgroup$$}}
%
\catcode`\@=\active
{\obeylines\gdef@{\ttverbatim\spaceskip=\ttglue\let^^M=\ \let@=\endgroup}}
\def\beginlines{\par\begingroup\nobreak\medskip\parindent=0pt
\kern1pt\nobreak \obeylines \everypar{\strut}}
\def\endlines{\kern1pt\endgroup\medbreak\noindent}
\endinput
|