diff options
author | Hans Hagen <pragma@wxs.nl> | 2000-10-22 00:00:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2000-10-22 00:00:00 +0200 |
commit | e78478392e9717499b101d0fed642c945c104097 (patch) | |
tree | 7f3dbe64040cbcf413644cae6516872c0fb5cd2b /tex/context/base/meta-fig.tex | |
parent | 73000ea3b7c8225c980f40ef90b86e2d57fe4003 (diff) | |
download | context-e78478392e9717499b101d0fed642c945c104097.tar.gz |
stable 2000.10.22
Diffstat (limited to 'tex/context/base/meta-fig.tex')
-rw-r--r-- | tex/context/base/meta-fig.tex | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/tex/context/base/meta-fig.tex b/tex/context/base/meta-fig.tex new file mode 100644 index 000000000..c282f36c7 --- /dev/null +++ b/tex/context/base/meta-fig.tex @@ -0,0 +1,85 @@ +%D \module +%D [ file=meta-fig, +%D version=2000.09.07, +%D title=\METAPOST\ Graphics, +%D subtitle=Stand Alone Graphics, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] +%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}{MetaPost Graphics / Stand Alone Graphics} + +\unprotect + +%D This module implements a method for defining +%D stand||alone||graphics, that is, each graphic gets is own +%D page. Because graphics are wrapped in a \type {\framed}, +%D you can add overlays to the graphic directly, and since the +%D whole \CONTEXT\ machinery is available, you can also add +%D page backgrounds. +%D +%D \starttypen +%D \setupMPpage +%D [offset=1pt, +%D background=color, +%D backgroundcolor=green] +%D +%D \startMPpage +%D fill fullcircle scaled 10cm withcolor red ; +%D \stopMPpage +%D +%D \startMPpage +%D fill fullsquare rotated 45 scaled 8cm withcolor blue ; +%D \stopMPpage +%D \stoptypen +%D +%D Although this is hardly of any use, you can mix these +%D definitions with the text flow, since all settings are +%D kept local. The page is clipped to the image size. + +\presetlocalframed[\??mp] + +\def\setupMPpage% + {\dodoubleargument\getparameters[\??mp]} + +\def\startMPpage% + {\dosingleempty\dostartMPpage} + +\long\def\dostartMPpage[#1]#2\stopMPpage + {\page + \bgroup + \setbox\scratchbox=\hbox + {\localframed[\??mp][#1]{\startMPcode#2\stopMPcode}} + \edef\MPwd{\the\wd\scratchbox} + \edef\MPht{\the\ht\scratchbox} + \definepapersize + [\s!dummy] + [\c!breedte=\MPwd, + \c!hoogte=\MPht] + \startlocal % keep settings as local as can be + \setuppapersize + [\s!dummy][\s!dummy] + \setuplayout + [\c!breedte=\MPwd,\c!hoogte=\MPht, + \c!kopwit=\!!zeropoint,\c!rugwit=\!!zeropoint, + \c!snijwit=\!!zeropoint,\c!bodemwit=\!!zeropoint, + \c!hoofd=\!!zeropoint,\c!voet=\!!zeropoint] + \stoplocal % which saves us the trouble of push/pop + \startstandardmakeup + \centerbox{\box\scratchbox} + \stopstandardmakeup + \egroup} + +\setupMPpage + [\c!strut=\v!nee, + \c!uitlijnen=, + \c!offset=\v!overlay, + \c!breedte=\v!passend, + \c!hoogte=\v!passend, + \c!kader=\v!uit] + +\protect \endinput |