[NTG-context] clipping in metafun has weird side effects

Tobias Columbus tobias.columbus at gmail.com
Fri Oct 31 10:15:28 CET 2014


On Fri, Oct 31, 2014 at 10:05:35AM +0100, Hans Hagen wrote:
> On 10/31/2014 9:58 AM, Tobias Columbus wrote:
> >Hi again,
> >
> >I tried my example from yesterday in context with metapost format, but
> >the output still differs from what mptopdf produces.
> >
> >While doing that, I noticed that the mpost format is currently not usable out of
> >the box:
> >
> >\startMPcode{metapost}
> >   draw (0,0) -- (1cm,0) ;
> >\stopMPcode
> >
> >produces the error message
> >
> 
> \startMPcode
>   draw (0,0) -- (1cm,0) ;
> \stopMPcode
> 
> why the {metapost}

I wanted to know if the impact of clipping is caused by the metafun format.
According to the wiki page
http://wiki.contextgarden.net/Command/defineMPinstance the instances "metapost"
and "metafun" are predefined and can be used by

\startMPcode{instance}
  ...
\stopMPcode

where metafun is the default instance, i.e. used when there is no instance
given.

> 
> >>>mfun_first_run
> >>>true
> >! Equation cannot be performed (numeric=boolean).
> >
> >and the same for 'mfun_trial_run'. Simply adding
> >
> >boolean mfun_trial_run, mfun_first_run ;
> >
> >to texmf/metapost/base/mpost.mp resolved the issue for me. However, that may
> >introduce other complications that I have no idea of.
> >
> >Tobias
> >
> >
> >
> >On Thu, Oct 30, 2014 at 08:56:34PM +0100, Tobias Columbus wrote:
> >>Dear all,
> >>
> >>I stumbled upon some very weird behaviour of clipping in metafun/context. When I
> >>add some clipped pictures to currentpicture and draw something dashed, some
> >>subsequent lines will also be drawn dashed.
> >>
> >>This behaviour only shows up with context but not with mptopdf or mpost. I
> >>attached a minimal example and the corresponding output of context and mptopdf.
> >>
> >>I tried context versions 2014.05.21 22:04 and 2014.10.29 17:47, but the result
> >>is the same in both.
> >>
> >>Tobias
> >>
> >>
> >>
> >>
> >>--
> >
> >>
> >>vardef mycircle =
> >>   save c ; picture c ; c := nullpicture ;
> >>   addto c contour fullcircle scaled 2mm ;
> >>   c
> >>enddef ;
> >>
> >>def a expr p =
> >>   path _p_ ; _p_ := p ;
> >>   a_impl
> >>enddef ;
> >>
> >>def a_impl text t =
> >>   begingroup
> >>     save c ; picture c ; c := mycircle ;
> >>     clip c to bbox c scaled 0.5 ;
> >>     addto currentpicture also c t ;
> >>     addto currentpicture doublepath _p_ t ;
> >>   endgroup
> >>enddef ;
> >>
> >>def b expr p =
> >>   path _p_ ; _p_ := p ;
> >>   b_impl
> >>enddef ;
> >>
> >>def b_impl text t =
> >>   begingroup
> >>     save c; picture c ; c := mycircle ;
> >>     addto currentpicture also c t ;
> >>     addto currentpicture doublepath _p_ t ;
> >>   endgroup
> >>enddef ;
> >>beginfig(1)
> >>
> >>   a (0,0) -- (1cm,0) dashed evenly ;
> >>   currentpicture := currentpicture shifted (2cm,0) ;
> >>   a (0,0) -- (1cm,0) ;
> >>
> >>   currentpicture := currentpicture shifted (-2cm, 0.5cm );
> >>
> >>   b (0,0) -- (1cm,0) dashed evenly ;
> >>   currentpicture := currentpicture shifted (2cm,0) ;
> >>   b (0,0) -- (1cm,0) ;
> >>
> >>endfig ;
> >>end
> >
> >
> >
> >
> 
> 
> -- 
> 
> -----------------------------------------------------------------
>                                           Hans Hagen | PRAGMA ADE
>               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
>     tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
>                                              | www.pragma-pod.nl
> -----------------------------------------------------------------
> ___________________________________________________________________________________
> 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://tex.aanhet.net
> archive  : http://foundry.supelec.fr/projects/contextrev/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________

-- 


More information about the ntg-context mailing list