%D \module %D [ file=meta-mat, %D version=2013.07.19, %D title=\METAPOST\ Graphics, %D subtitle=Math, %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. %D This is just an example library not meant for production. % A few accents: % / for cambria \startMPextensions vardef math_stacker_overbracket_shape = image ( draw (0,OverlayOffset) -- (0,OverlayHeight-OverlayOffset) -- (OverlayWidth,OverlayHeight-OverlayOffset) -- (OverlayWidth,OverlayOffset) withcolor OverlayLineColor ; setbounds currentpicture to boundingbox currentpicture bottomenlarged OverlayOffset ; ) enddef ; vardef math_stacker_underbracket_shape = math_stacker_overbracket_shape rotated 180 enddef ; vardef math_stacker_overparent_shape = image ( draw (0,OverlayOffset) ... (OverlayWidth/2,OverlayHeight-OverlayOffset) ... (OverlayWidth,OverlayOffset) withcolor OverlayLineColor ; setbounds currentpicture to boundingbox currentpicture bottomenlarged OverlayOffset ; ) enddef ; vardef math_stacker_underparent_shape = math_stacker_overparent_shape rotated 180 enddef ; vardef math_stacker_overbrace_shape = image ( draw (0,OverlayOffset) ... (OverlayWidth/4-OverlayOffset,OverlayHeight-OverlayOffset) ... (OverlayWidth/2-OverlayOffset,OverlayHeight-OverlayOffset) ... (OverlayWidth/2,OverlayHeight) & (OverlayWidth/2,OverlayHeight) ... (OverlayWidth/2+OverlayOffset,OverlayHeight-OverlayOffset) ... (3OverlayWidth/4+OverlayOffset,OverlayHeight-OverlayOffset) ... (OverlayWidth,OverlayOffset) withcolor OverlayLineColor ; setbounds currentpicture to boundingbox currentpicture bottomenlarged OverlayOffset ; ) enddef ; vardef math_stacker_underbrace_shape = math_stacker_overbrace_shape rotated 180 enddef ; vardef math_stacker_overbar_shape = image ( draw (0,OverlayOffset) -- (OverlayWidth,OverlayOffset) withcolor OverlayLineColor ; setbounds currentpicture to boundingbox currentpicture bottomenlarged OverlayOffset ; ) enddef ; vardef math_stacker_underbar_shape = math_stacker_overbar_shape rotated 180 enddef ; vardef math_stacker_arrow_shape = image ( drawarrow (OverlayWidth,OverlayOffset) -- (0,OverlayOffset) withcolor OverlayLineColor ; setbounds currentpicture to boundingbox currentpicture bottomenlarged (OverlayOffset/2) topenlarged (OverlayOffset/2) ; ) enddef ; vardef math_stacker_leftarrow_shape = math_stacker_arrow_shape enddef ; vardef math_stacker_rightarrow_shape = math_stacker_arrow_shape rotated 180 enddef ; def math_stacker_draw(expr p) = draw p withpen pencircle xscaled (2OverlayLineWidth) % yscaled (3OverlayLineWidth/4) yscaled (3OverlayLineWidth) % rotated 30 ; rotated 45 ; enddef ; \stopMPextensions \startuniqueMPgraphic{math:stacker:\number"FE3B4} math_stacker_draw(math_stacker_overbracket_shape) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE3B5} math_stacker_draw(math_stacker_underbracket_shape) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE3DC} math_stacker_draw(math_stacker_overparent_shape) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE3DD} math_stacker_draw(math_stacker_underparent_shape) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE3DE} math_stacker_draw(math_stacker_overbrace_shape) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE3DF} math_stacker_draw(math_stacker_underbrace_shape) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE33E} math_stacker_draw(math_stacker_overbar_shape) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"FE33F} math_stacker_draw(math_stacker_underbar_shape) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"2190} math_stacker_draw(math_stacker_leftarrow_shape) ; \stopuniqueMPgraphic \startuniqueMPgraphic{math:stacker:\number"2192} math_stacker_draw(math_stacker_rightarrow_shape) ; \stopuniqueMPgraphic %D Radicals: \startMPextensions vardef math_radical_simple(expr w,h,d,o) = (-h/2-o,h/2-o) -- (-h/4-o,-d-o) -- (-o,h+o) -- (w+o,h+o) -- (w+o,h-h/10+o) enddef ; \stopMPextensions \startuniqueMPgraphic{math:radical:default}%{...} draw math_radical_simple(OverlayWidth,OverlayHeight,OverlayDepth,OverlayOffset) withpen pencircle xscaled (2OverlayLineWidth) yscaled (3OverlayLineWidth/4) rotated 30 % dashed evenly withcolor OverlayLineColor ; \stopuniqueMPgraphic % \setupmathstackers % [vfenced] % [color=darkred, % alternative=mp] \endinput