diff options
Diffstat (limited to 'tex/context/base/mkiv/attr-eff.mkiv')
-rw-r--r-- | tex/context/base/mkiv/attr-eff.mkiv | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/tex/context/base/mkiv/attr-eff.mkiv b/tex/context/base/mkiv/attr-eff.mkiv new file mode 100644 index 000000000..859814ebc --- /dev/null +++ b/tex/context/base/mkiv/attr-eff.mkiv @@ -0,0 +1,60 @@ +%D \module +%D [ file=attr-eff, +%D version=2007.06.06, +%D title=\CONTEXT\ Attribute Macros, +%D subtitle=Effects, +%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. + +\writestatus{loading}{ConTeXt Attribute Macros / Effects} + +\registerctxluafile{attr-eff}{1.001} + +\unprotect + +\installcorenamespace{effect} + +\installcommandhandler \??effect {effect} \??effect + +\setupeffect + [\c!method=\v!none, + \c!stretch=\zerocount, + \c!rulethickness=\zeropoint, + \c!alternative=\v!normal] + +\appendtoks + \edef\p_method{\effectparameter\c!method}% + \ifx\p_method\v!command + \setuxvalue{\e!start\currenteffect}{\starteffect[#1]}% + \setuxvalue{\e!stop \currenteffect}{\stopeffect}% + \fi +\to \everydefineeffect + +\unexpanded\def\starteffect[#1]% + {\clf_seteffect + alternative {\namedeffectparameter{#1}\c!alternative} + stretch \numexpr\namedeffectparameter{#1}\c!stretch\relax + rulethickness \dimexpr\namedeffectparameter{#1}\c!rulethickness\relax + \relax} + +\unexpanded\def\stopeffect % can be special + {\clf_reseteffect} % v!normal 0 0 + +\unexpanded\def\effect[#1]% + {\groupedcommand{\starteffect[#1]}{\stopeffect}} + +% yes or no grouped + +\defineeffect [\v!inner] [\c!alternative=\v!inner,\c!rulethickness=.25pt] +\defineeffect [\v!outer] [\c!alternative=\v!outer,\c!rulethickness=.25pt] +\defineeffect [\v!both] [\c!alternative=\v!both, \c!rulethickness=.25pt] +\defineeffect [\v!normal] [\c!alternative=\v!normal] +\defineeffect [\v!hidden] [\c!alternative=\v!hidden] +\defineeffect [\v!stretch] [\c!alternative=\v!stretch,\c!stretch=1] + +\protect \endinput |