diff options
author | Hans Hagen <pragma@wxs.nl> | 2008-08-04 15:59:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2008-08-04 15:59:00 +0200 |
commit | f8ba0550d77fd6e2b307ff9dd3175fc0c613b8e2 (patch) | |
tree | ae27ca6edd0b2f1bcbe315d241b8152107d4e6a3 /tex/context/base/meta-ini.mkiv | |
parent | 1d63a6eae86a6b78d4563ed60521449e4bf89f3c (diff) | |
download | context-f8ba0550d77fd6e2b307ff9dd3175fc0c613b8e2.tar.gz |
stable 2008.08.04 15:59
Diffstat (limited to 'tex/context/base/meta-ini.mkiv')
-rw-r--r-- | tex/context/base/meta-ini.mkiv | 61 |
1 files changed, 32 insertions, 29 deletions
diff --git a/tex/context/base/meta-ini.mkiv b/tex/context/base/meta-ini.mkiv index cb2aa0ca7..78c626272 100644 --- a/tex/context/base/meta-ini.mkiv +++ b/tex/context/base/meta-ini.mkiv @@ -97,9 +97,9 @@ {\doifnot{#1}{+}{\global\MPuserinclusions\emptytoks}% \global\MPuserinclusions\expandafter{\the\MPuserinclusions#2}} -\ifx \overlaywidth \undefined \def \overlaywidth {4cm} \fi -\ifx \overlayheight \undefined \def \overlayheight {3cm} \fi -\ifx \overlaylinewidth \undefined \def \overlaylinewidth {0pt} \fi +% \ifx \overlaywidth \undefined \def \overlaywidth {4cm} \fi +% \ifx \overlayheight \undefined \def \overlayheight {3cm} \fi +% \ifx \overlaylinewidth \undefined \def \overlaylinewidth {0pt} \fi \def\presetMPdefinitions {\edef\overlaywidth {\overlaywidth \space}% @@ -110,6 +110,8 @@ \def\currentMPformat{metafun} +\newconditional \METAFUNinitialized + \long\def\processMPgraphic#1% todo: extensions and inclusions outside beginfig {\blabelgroup \enableincludeMPgraphics @@ -117,18 +119,21 @@ \presetMPdefinitions \setMPrandomseed % this has to change % we need to preexpand the token lists - \setbox\MPgraphicbox\hbox\bgroup - \ctxlua { - metapost.graphic( - "\currentMPformat", - \@EA\!!bs\the\MPinitializations;\theMPrandomseed;#1;\!!es, % code - \@EA\@EA\@EA\!!bs\@EA\the\@EA\MPextensions\@EA;\the\MPuserinclusions;\!!es % optional preamble - ) - }% + \setbox\MPgraphicbox\hbox\bgroup + \ifconditional\METAFUNinitialized + \ctxlua { metapost.graphic( + "\currentMPformat", \@EA\!!bs\the\MPinitializations;#1;\!!es, + "" + ) }% + \else + \ctxlua { metapost.graphic( + "\currentMPformat", \@EA\!!bs\the\MPinitializations;\theMPrandomseed;#1;\!!es, % code + \@EA\@EA\@EA\!!bs\@EA\the\@EA\MPextensions\@EA;\the\MPuserinclusions;\!!es % optional preamble + ) }% + \global\settrue\METAFUNinitialized + \fi \egroup \placeMPgraphic - \global\MPextensions\emptytoks - \global\MPuserinclusions\emptytoks \elabelgroup} \newif\ifsetMPrandomseed \setMPrandomseedtrue % false by default @@ -234,17 +239,15 @@ \let\stopMPclip\relax -\def\grabMPclippath#1#2#3#4#5% +\def\grabMPclippath#1#2#3#4#5% #5 is alternative {\blabelgroup \edef\width {#3\space}\let\overlaywidth \width \edef\height{#4\space}\let\overlayheight\height - \doifundefined{MPC::#1} - {\doifdefinedelse{MPC:#1} - {\xdef\MPclippath{\getvalue{MPC:#1}}% - \ifx\MPclippath\empty\xdef\MPclippath{#5}\fi - \setxvalue{MPC::#1}{\MPclippath}} - {\setxvalue{MPC::#1}{#5}}}% - \xdef\MPclippath{\getvalue{MPC::#1}}% + \doifdefinedelse{MPC:#1} + {\xdef\MPclippath{\getvalue{MPC:#1}}% + \ifx\MPclippath\empty\xdef\MPclippath{#5}\fi + \setxvalue{MPC:#1}{\MPclippath}} + {\xdef\MPclippath{#5}}% % #2 : method is obsolete, only pdf now, we can always % gsub the result to ps \elabelgroup} @@ -413,7 +416,7 @@ \enableincludeMPgraphics \forgetall \global\advance\MPobjectcounter\plusone - \setobject{MP}{\number\MPobjectcounter}\vbox{\processMPgraphic{#3}}% + \setobject{MP}{\number\MPobjectcounter}\hbox{\processMPgraphic{#3}}% was vbox, graphic must end up as hbox \setxvalue{\@@MPG\overlaystamp:#1}{\noexpand\reuseMPbox{\number\MPobjectcounter}{\MPllx}{\MPlly}{\MPurx}{\MPury}}% \fi \getvalue{\@@MPG\overlaystamp:#1}% @@ -472,7 +475,7 @@ \prepareMPvariables{#2}% \enableincludeMPgraphics \global\advance\MPobjectcounter\plusone - \setobject{MP}{\number\MPobjectcounter}\vbox{\processMPgraphic{#3}}% + \setobject{MP}{\number\MPobjectcounter}\hbox{\processMPgraphic{#3}}% was vbox, graphic must end up as hbox \setxvalue{\@@MPG#1}{\noexpand\reuseMPbox{\number\MPobjectcounter}{\MPllx}{\MPlly}{\MPurx}{\MPury}}% \getvalue{\@@MPG#1}% \elabelgroup} @@ -602,9 +605,9 @@ %D %D We redefine a macro from \type {supp-mps.tex}: -\def\MPdataMPDfile{\jobname-mp.mpd} -\def\MPdataMPOfile{\jobname-mp.mpo} -\def\MPdataMPYfile{\jobname-mp.mpy} +\def\MPdataMPDfile{\jobname-mpgraph.mpd} +\def\MPdataMPOfile{\jobname-mpgraph.mpo} +\def\MPdataMPYfile{\jobname-mpgraph.mpy} \startMPextensions boolean collapse_data; collapse_data:=true; @@ -1083,13 +1086,13 @@ \def\dousestaticMPfigure[#1][#2]% {\ifsecondargument - \scale[#2]{\reuseMPgraphic{#1@S@}}% + \scale[#2]{\reuseMPgraphic{\@@MPG#1@S@}}% \else - \reuseMPgraphic{#1@S@}% + \reuseMPgraphic{\@@MPG#1@S@}% \fi} \def\startstaticMPfigure#1#2\stopstaticMPfigure - {\startreusableMPgraphic{static:#1}#2\stopreusableMPgraphic} + {\startreusableMPgraphic{\@@MPG#1@S@}#2\stopreusableMPgraphic} \long\def\startstaticMPgraphic {\blabelgroup |