blob: 4da633371d99de68ec3613b8867936444bff0bd5 (
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
46
47
48
49
50
51
|
%D \module
%D [ file=type-run,
%D version=2001.04.20,
%D title=\CONTEXT\ Typescript Macros,
%D subtitle=Runtime Macros,
%D author=Hans Hagen,
%D date=\currentdate,
%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
\unprotect
\gdef\typetypescript
{\dotripleempty\dotypetypescript}
\gdef\dotypetypescript[#1][#2][#3]%
{\bgroup
\def\dochecktypescript##1##2% script use
{\doifelsenothing{##1##2}
{\donetrue}
{\doifcommonelse{##1}{##2}\donetrue\donefalse}}
\edef\typescriptone {\truetypescript{#1}}%
\edef\typescripttwo {\truetypescript{#2}}%
\edef\typescriptthree{\truetypescript{#3}}%
\unexpanded\def\starttypescript
{\bgroup
\obeylines % else we loose the first line due to lookahead
\dotripleempty\dostarttypescript}
\def\dostarttypescript[##1][##2][##3]%
{\long\def\next####1\stoptypescript{\egroup}
\dochecktypescript{##1}\typescriptone \ifdone
\dochecktypescript{##2}\typescripttwo \ifdone
\dochecktypescript{##3}\typescriptthree\ifdone
\def\next%
{\unexpanded\def\stoptypescript{\egroup\type{\stoptypescript}}
% what follows now is quite ugly
\skipfirstverbatimlinefalse
\type{\starttypescript}
\doifsomething{##1}{\type{[##1]}}
\doifsomething{##2}{\type{[##2]}}
\doifsomething{##3}{\type{[##3]}}
\processdisplayverbatim{\stoptypescript}}%
\fi\fi\fi
\next}
\processcommacommand[\typescriptfiles]\ReadFile % \dodousetypescript
\egroup}
\protect \endinput
|