ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* troubles with \MPinclusions
@ 2019-02-21  9:03 Damien Thiriet
  2019-02-21  9:44 ` Hans Hagen
  2019-02-21  9:51 ` Taco Hoekwater
  0 siblings, 2 replies; 3+ messages in thread
From: Damien Thiriet @ 2019-02-21  9:03 UTC (permalink / raw)
  To: ntg-context

Hi,


Why does (1) compile, whereas (2) doesn't?
I can't understand why can MPinclusions store path and not pairs.  


%%%%%%%%%%%% (1) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setuppapersize[A4,landscape]

\startMPinclusions
u:=1mm ;
%fond
path p ;
p:= (0,0) -- (150u,0) -- (150u,95u) -- (0,95u) -- cycle ;
pair x[] ;
x[0]:= (20u,90u) ;
x[1]:= (40u,90u) ;
x[2]:= (90u,90u) ;
x[3]:= (140u,90u) ;
\stopMPinclusions

\startreusableMPgraphic{test}
draw p ;
\stopreusableMPgraphic

\starttext 
    \reuseMPgraphic{test}
\stoptext

%%%%%%%%%%%% (1) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setuppapersize[A4,landscape]

\startMPinclusions
u:=1mm ;
%fond
path p ;
p:= (0,0) -- (150u,0) -- (150u,95u) -- (0,95u) -- cycle ;
pair x[] ;
x[0]:= (20u,90u) ;
x[1]:= (40u,90u) ;
x[2]:= (90u,90u) ;
x[3]:= (140u,90u) ;
\stopMPinclusions

\startreusableMPgraphic{test}
draw p ;
for i=0 step 1 until 3 :
    drawdot x[i] ;
endfor ;
\stopreusableMPgraphic

\starttext 
    \reuseMPgraphic{test}


More generaly, which kind of variables cannot be stored in
\startMPinclusions ?

Thanks,


Damien Thiriet
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: troubles with \MPinclusions
  2019-02-21  9:03 troubles with \MPinclusions Damien Thiriet
@ 2019-02-21  9:44 ` Hans Hagen
  2019-02-21  9:51 ` Taco Hoekwater
  1 sibling, 0 replies; 3+ messages in thread
From: Hans Hagen @ 2019-02-21  9:44 UTC (permalink / raw)
  To: mailing list for ConTeXt users, Damien Thiriet

On 2/21/2019 10:03 AM, Damien Thiriet wrote:
> Hi,
> 
> 
> Why does (1) compile, whereas (2) doesn't?
> I can't understand why can MPinclusions store path and not pairs.
> 
> 
> %%%%%%%%%%%% (1) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> \setuppapersize[A4,landscape]
> 
> \startMPinclusions
> u:=1mm ;
> %fond
> path p ;
> p:= (0,0) -- (150u,0) -- (150u,95u) -- (0,95u) -- cycle ;
> pair x[] ;
> x[0]:= (20u,90u) ;
> x[1]:= (40u,90u) ;
> x[2]:= (90u,90u) ;
> x[3]:= (140u,90u) ;
> \stopMPinclusions
> 
> \startreusableMPgraphic{test}
> draw p ;
> \stopreusableMPgraphic
> 
> \starttext
>      \reuseMPgraphic{test}
> \stoptext
> 
> %%%%%%%%%%%% (1) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> \setuppapersize[A4,landscape]
> 
> \startMPinclusions
> u:=1mm ;
> %fond
> path p ;
> p:= (0,0) -- (150u,0) -- (150u,95u) -- (0,95u) -- cycle ;
> pair x[] ;
> x[0]:= (20u,90u) ;
> x[1]:= (40u,90u) ;
> x[2]:= (90u,90u) ;
> x[3]:= (140u,90u) ;
> \stopMPinclusions
> 
> \startreusableMPgraphic{test}
> draw p ;
> for i=0 step 1 until 3 :
>      drawdot x[i] ;
> endfor ;
> \stopreusableMPgraphic
> 
> \starttext
>      \reuseMPgraphic{test}
> 
> 
> More generaly, which kind of variables cannot be stored in
> \startMPinclusions ?

those that are likely to clash later

\startMPinclusions
vardef MyStuff =
     numeric u;
     u:=1mm ;
     path p ;
     p:= (0,0) -- (150u,0) -- (150u,95u) -- (0,95u) -- cycle ;
     pair x[] ;
     x[0]:= (20u,90u) ;
     x[1]:= (40u,90u) ;
     x[2]:= (90u,90u) ;
     x[3]:= (140u,90u) ;
enddef ;
\stopMPinclusions

\startreusableMPgraphic{test}
save p, u, x ;
MyStuff ;
draw p ;
for i=0 step 1 until 3 :
     drawdot x[i] ;
endfor ;
\stopreusableMPgraphic

\starttext
     \reuseMPgraphic{test}
\stoptext

but in your case you could as well put the inclusions in the test 
graphic itself

\startreusableMPgraphic{test}
     save p, u, x ;
     numeric u;
     u:=1mm ;
     path p ;
     p:= (0,0) -- (150u,0) -- (150u,95u) -- (0,95u) -- cycle ;
     pair x[] ;
     x[0]:= (20u,90u) ;
     x[1]:= (40u,90u) ;
     x[2]:= (90u,90u) ;
     x[3]:= (140u,90u) ;
     draw p ;
     for i=0 step 1 until 3 :
         drawdot x[i] ;
     endfor ;
\stopreusableMPgraphic

\starttext
     \reuseMPgraphic{test}
\stoptext


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: troubles with \MPinclusions
  2019-02-21  9:03 troubles with \MPinclusions Damien Thiriet
  2019-02-21  9:44 ` Hans Hagen
@ 2019-02-21  9:51 ` Taco Hoekwater
  1 sibling, 0 replies; 3+ messages in thread
From: Taco Hoekwater @ 2019-02-21  9:51 UTC (permalink / raw)
  To: mailing list for ConTeXt users



> On 21 Feb 2019, at 10:03, Damien Thiriet <damien@thiriet.web4me.fr> wrote:
> 
> Hi,
> 
> 
> Why does (1) compile, whereas (2) doesn’t?

For me, both compile. However (2) does not work.

1. Variable names x and y are special and cleared before
   every graphic. This is related to the fact that “z" is 
   defined as a shortcut for "(x,y)”. Both of these are
   traditional. 

   Every metapost graphic does at least this at its start:

   save x,y;
   currentpicture := nullpicture;
   currentpen:=defaultpen;
  
   so pair xx[]; would have worked just fine.

   In general, I would advice to stay away from single-letter
   variable names inside MPinclusions, and use CamelCase
   to avoid clashes with metafun internals.

2. You need a bigger pen to actually see the dots even if
   you change the variable name. :)

Best wishes,
Taco

> I can't understand why can MPinclusions store path and not pairs.  
> 
> 
> %%%%%%%%%%%% (1) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> \setuppapersize[A4,landscape]
> 
> \startMPinclusions
> u:=1mm ;
> %fond
> path p ;
> p:= (0,0) -- (150u,0) -- (150u,95u) -- (0,95u) -- cycle ;
> pair x[] ;
> x[0]:= (20u,90u) ;
> x[1]:= (40u,90u) ;
> x[2]:= (90u,90u) ;
> x[3]:= (140u,90u) ;
> \stopMPinclusions
> 
> \startreusableMPgraphic{test}
> draw p ;
> \stopreusableMPgraphic
> 
> \starttext 
>    \reuseMPgraphic{test}
> \stoptext
> 
> %%%%%%%%%%%% (1) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> \setuppapersize[A4,landscape]
> 
> \startMPinclusions
> u:=1mm ;
> %fond
> path p ;
> p:= (0,0) -- (150u,0) -- (150u,95u) -- (0,95u) -- cycle ;
> pair x[] ;
> x[0]:= (20u,90u) ;
> x[1]:= (40u,90u) ;
> x[2]:= (90u,90u) ;
> x[3]:= (140u,90u) ;
> \stopMPinclusions
> 
> \startreusableMPgraphic{test}
> draw p ;
> for i=0 step 1 until 3 :
>    drawdot x[i] ;
> endfor ;
> \stopreusableMPgraphic
> 
> \starttext 
>    \reuseMPgraphic{test}
> 
> 
> More generaly, which kind of variables cannot be stored in
> \startMPinclusions ?
> 
> Thanks,
> 
> 
> Damien Thiriet
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
> 
> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________

Taco Hoekwater
Elvenkind BV




___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-02-21  9:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-21  9:03 troubles with \MPinclusions Damien Thiriet
2019-02-21  9:44 ` Hans Hagen
2019-02-21  9:51 ` Taco Hoekwater

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).