[NTG-context] ! Declared variable conflicts with previous vardef [Metapost]

Fabrice Couvreur fabrice1.couvreur at gmail.com
Thu Jan 3 11:31:48 CET 2019


Hi,
It is true that Alan has already answered this question but I was misled
because the file that I compiled without problem is this one, even leaving
pair z[ ] (I can think that it is because of this instruction   z := point
3.6 of p ;)

\starttext
\startMPpage[offset=2pt]
     path p, q, r, b ; pair z ;
     p := unitsquare scaled 4cm ;
    * z := point 3.6 of p ;*
     q := z--urcorner p ;
     r := z--urcorner p-- reverse bottomboundary p--cycle ;
     b := reverse bottomboundary p ;
     %r := q -- reverse bottomboundary p -- cycle ; definition of Hans
     draw b--q withpen pencircle scaled 1mm withcolor red ;
     draw p ;
     draw r numberstriped (.25,10,5) withcolor magenta ;
     label.llft("B", p) ;
     label.lrt("C", p) ;
     label.ulft("A", p) ;
     label.urt("D", p) ;
     label.lft("M", p) ;
\stopMPpage
\startMPpage[offset=2pt]
  defaultfont := "texgyrepagella-regular*default" ;
  defaultscale :=0.8 ;
  path p, q, r, b ;* pair z[];*
  p  := unitsquare xyscaled (9cm,5cm) ;
  z[0] = (2cm,0cm) ;
  z[1] = (2cm,2cm) ;
  z[2] = (0cm,2cm) ;
  q := llcorner p--z[0]--z[1]--z[2]--cycle ;
  r := unitsquare xyscaled (7cm,3cm) shifted(2cm,2cm) ;
  b := z[2]--z[1]--ulcorner r--urcorner p--lrcorner r--z[1]--z[0]--llcorner
p--cycle ;
  draw p ;
  draw b numberstriped (.25,15,5) withcolor magenta ;
  label.llft("A", p) ;
  label.lrt("D", p) ;
  label.ulft("C", p) ;
  label.urt("B", p) ;
  label.lft("M", z[2]) ;
  label.ulft("N", z[1]) ;
  label.bot("P", z[0]) ;
  label.top("J", ulcorner r) ;
  label.rt("I", lrcorner r) ;
  label.bot(btex $x$ etex,(llcorner p+z[0])/2);
  label.lft(btex $x$ etex,(llcorner p+z[2])/2);
\stopMPpage

\stoptext

Le jeu. 3 janv. 2019 à 07:12, Alan Braslau <braslau.list at comcast.net> a
écrit :

> On Thu, 3 Jan 2019 16:22:06 +1300 (UTC)
> Henri Menke <henrimenke at gmail.com> wrote:
>
> > z is a MetaPost intrinsic, something along the lines of
> >
> >     vardef z@#=(x@#,y@#) enddef;
> >
> > so you can't use the same name for a pair.  Actually you can simply
> > delete the declaration
> >
> >    pair z[];
>
> I had already told Fabrice this a couple of days ago...
>
> Alan
>
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to
> the Wiki!
>
> maillist : ntg-context at 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
>
> ___________________________________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20190103/2957d972/attachment.html>


More information about the ntg-context mailing list