Re: [NTG-context] troubles with \MPinclusions (Taco Hoekwater)

2019-02-21 Thread Damien Thiriet
Thanks for your answers, I could significantly reduce my long 
timeline code.

 
> 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.
> 

So, got one more z-related error in Metapost. I bet this is
absolutely the n.1 on help-lists. Btw, if I were a scientist, 
I'd realized that defining x as a pair is quite heretic…
And that sounds much familiar to an historian.

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
___


Re: [NTG-context] troubles with \MPinclusions

2019-02-21 Thread Taco Hoekwater


> On 21 Feb 2019, at 10:03, Damien Thiriet  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
___


Re: [NTG-context] troubles with \MPinclusions

2019-02-21 Thread Hans Hagen

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
___


[NTG-context] troubles with \MPinclusions

2019-02-21 Thread Damien Thiriet
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
___