%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}{} \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