1
2
3
4
5
6
7
8
9
10
11
12
13
14\writestatus{loading}{ConTeXt Attribute Macros Effects}
15
16\registerctxluafile{attreff}{autosuffix}
17
18\unprotect
19
20\installcorenamespace{effect}
21
22\installcommandhandler \??effect {effect} \??effect
23
24\setupeffect
25 [\c!method=\v!none,
26 \c!stretch=\zerocount,
27 \c!rulethickness=\zeropoint,
28 \c!alternative=\v!normal]
29
30\appendtoks
31 \ifcstok{\effectparameter\c!method}\v!command
32 \frozen\protected\xdefcsname\e!start\currenteffect\endcsname{\starteffect[#1]}
33 \frozen\protected\xdefcsname\e!stop \currenteffect\endcsname{\stopeffect}
34 \fi
35\to \everydefineeffect
36
37\permanent\protected\def\starteffect[#1]
38 {\clf_seteffect
39 alternative {\namedeffectparameter{#1}\c!alternative}
40 stretch {\namedeffectparameter{#1}\c!stretch}
41 rulethickness {\namedeffectparameter{#1}\c!rulethickness}
42 \relax}
43
44\permanent\protected\def\stopeffect
45 {\clf_reseteffect}
46
47\permanent\protected\def\effect[#1]
48 {\groupedcommand{\starteffect[#1]}{\stopeffect}}
49
50
51
52\defineeffect [\v!inner] [\c!alternative=\v!inner,\c!rulethickness=.25pt]
53\defineeffect [\v!outer] [\c!alternative=\v!outer,\c!rulethickness=.25pt]
54\defineeffect [\v!both] [\c!alternative=\v!both, \c!rulethickness=.25pt]
55\defineeffect [\v!normal] [\c!alternative=\v!normal]
56\defineeffect [\v!hidden] [\c!alternative=\v!hidden]
57\defineeffect [\v!clip] [\c!alternative=\v!clip]
58\defineeffect [\v!stretch] [\c!alternative=\v!stretch,\c!stretch=1]
59
60\protect \endinput
61 |