ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Reset environment between MetaPost graphics?
@ 2022-01-20 13:59 Vincent Hennebert via ntg-context
  2022-01-20 14:26 ` Aditya Mahajan via ntg-context
  2022-01-20 14:42 ` Hans Hagen via ntg-context
  0 siblings, 2 replies; 6+ messages in thread
From: Vincent Hennebert via ntg-context @ 2022-01-20 13:59 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Vincent Hennebert

Hi,

Say I’m writing a document containing many independent MetaPost
figures. I don’t want to bother with enclosing each and every graphics
in a ‘begingroup...endgroup’ with the appropriate ‘save’ statement. But
I don’t want variables from previous graphics to leak into following
ones either.

Like this:

% SOF
\starttext

Text about some topic.

\startMPcode
u=1cm;
draw (-u, u)--origin--(u ,u);
\stopMPcode

Now on to another topic.

\startMPcode
u=2cm; % Triggers an error: Inconsistent equation (off by 28.34645)
draw (-u, u)..origin..(u ,u);
\stopMPcode

\stoptext
% EOF

Is that achievable?

Thanks,
Vincent

___________________________________________________________________________________
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] 6+ messages in thread

* Re: Reset environment between MetaPost graphics?
  2022-01-20 13:59 Reset environment between MetaPost graphics? Vincent Hennebert via ntg-context
@ 2022-01-20 14:26 ` Aditya Mahajan via ntg-context
  2022-01-20 14:47   ` Hans Hagen via ntg-context
  2022-01-20 14:42 ` Hans Hagen via ntg-context
  1 sibling, 1 reply; 6+ messages in thread
From: Aditya Mahajan via ntg-context @ 2022-01-20 14:26 UTC (permalink / raw)
  To: Vincent Hennebert via ntg-context; +Cc: Aditya Mahajan

[-- Attachment #1: Type: text/plain, Size: 1238 bytes --]

On Thu, 20 Jan 2022, Vincent Hennebert via ntg-context wrote:

> Hi,
> 
> Say I’m writing a document containing many independent MetaPost
> figures. I don’t want to bother with enclosing each and every graphics
> in a ‘begingroup...endgroup’ with the appropriate ‘save’ statement. But
> I don’t want variables from previous graphics to leak into following
> ones either.
> 
> Like this:
> 
> % SOF
> \starttext
> 
> Text about some topic.
> 
> \startMPcode
> u=1cm;
> draw (-u, u)--origin--(u ,u);
> \stopMPcode
> 
> Now on to another topic.
> 
> \startMPcode
> u=2cm; % Triggers an error: Inconsistent equation (off by 28.34645)
> draw (-u, u)..origin..(u ,u);
> \stopMPcode
> 
> \stoptext
> % EOF
> 
> Is that achievable?

AFAIK, there is no in-built support for this. 

I workaround this as follows. Instead of defining new variables using 

numeric u; pair p; path q; etc.

use:

newnumeric u; newpair p; newpath p; etc.

which automatically does a save beforehand. The only place where the abstraction leaks is arrays. You cannot do, 

newpair p[];

but need save p; pair p[] instead. 

Another option is to use assignment rather than equality:

  u := 2cm;

Aditya

[-- Attachment #2: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
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] 6+ messages in thread

* Re: Reset environment between MetaPost graphics?
  2022-01-20 13:59 Reset environment between MetaPost graphics? Vincent Hennebert via ntg-context
  2022-01-20 14:26 ` Aditya Mahajan via ntg-context
@ 2022-01-20 14:42 ` Hans Hagen via ntg-context
  2022-01-20 14:55   ` Hans Hagen via ntg-context
  1 sibling, 1 reply; 6+ messages in thread
From: Hans Hagen via ntg-context @ 2022-01-20 14:42 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

On 1/20/2022 2:59 PM, Vincent Hennebert via ntg-context wrote:
> Hi,
> 
> Say I’m writing a document containing many independent MetaPost
> figures. I don’t want to bother with enclosing each and every graphics
> in a ‘begingroup...endgroup’ with the appropriate ‘save’ statement. But
> I don’t want variables from previous graphics to leak into following
> ones either.
> 
> Like this:
> 
> % SOF
> \starttext
> 
> Text about some topic.
> 
> \startMPcode
> u=1cm;
> draw (-u, u)--origin--(u ,u);
> \stopMPcode
> 
> Now on to another topic.
> 
> \startMPcode
> u=2cm; % Triggers an error: Inconsistent equation (off by 28.34645)
> draw (-u, u)..origin..(u ,u);
> \stopMPcode
> 
> \stoptext
> % EOF
> 
> Is that achievable?
you could do

   save u; u = 1cm;

or

   u := 1cm;

or

   numeric u; u := 1cm;

or you could use a dedicated instance (normally not needed)

Hans


-----------------------------------------------------------------
                                           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] 6+ messages in thread

* Re: Reset environment between MetaPost graphics?
  2022-01-20 14:26 ` Aditya Mahajan via ntg-context
@ 2022-01-20 14:47   ` Hans Hagen via ntg-context
  2022-01-21  9:47     ` Vincent Hennebert via ntg-context
  0 siblings, 1 reply; 6+ messages in thread
From: Hans Hagen via ntg-context @ 2022-01-20 14:47 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

On 1/20/2022 3:26 PM, Aditya Mahajan via ntg-context wrote:

> AFAIK, there is no in-built support for this.

FYEO:

\starttext

\startMPcode
     u = 123;
\stopMPcode

\ctxlua{metapost.reset("metafun:1")}

\startMPcode
     u = 123;
\stopMPcode

\stoptext

(the instance is reported on the console)

Hans

-----------------------------------------------------------------
                                           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] 6+ messages in thread

* Re: Reset environment between MetaPost graphics?
  2022-01-20 14:42 ` Hans Hagen via ntg-context
@ 2022-01-20 14:55   ` Hans Hagen via ntg-context
  0 siblings, 0 replies; 6+ messages in thread
From: Hans Hagen via ntg-context @ 2022-01-20 14:55 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

On 1/20/2022 3:42 PM, Hans Hagen via ntg-context wrote:

next upload:

\resetMPinstance[metafun:1]

but try to avoid this because reloading takes time

Hans


-----------------------------------------------------------------
                                           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] 6+ messages in thread

* Re: Reset environment between MetaPost graphics?
  2022-01-20 14:47   ` Hans Hagen via ntg-context
@ 2022-01-21  9:47     ` Vincent Hennebert via ntg-context
  0 siblings, 0 replies; 6+ messages in thread
From: Vincent Hennebert via ntg-context @ 2022-01-21  9:47 UTC (permalink / raw)
  To: ntg-context; +Cc: Vincent Hennebert

On Thu, 2022-01-20 at 15:47 +0100, Hans Hagen via ntg-context wrote:
> On 1/20/2022 3:26 PM, Aditya Mahajan via ntg-context wrote:
> 
> > AFAIK, there is no in-built support for this.
> 
> FYEO:
> 
> \starttext
> 
> \startMPcode
>      u = 123;
> \stopMPcode
> 
> \ctxlua{metapost.reset("metafun:1")}
> 
> \startMPcode
>      u = 123;
> \stopMPcode
> 
> \stoptext
> 
> (the instance is reported on the console)

Thanks Aditya and Hans! Glad to hear I wasn’t missing anything obvious.

Vincent
___________________________________________________________________________________
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] 6+ messages in thread

end of thread, other threads:[~2022-01-21  9:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-20 13:59 Reset environment between MetaPost graphics? Vincent Hennebert via ntg-context
2022-01-20 14:26 ` Aditya Mahajan via ntg-context
2022-01-20 14:47   ` Hans Hagen via ntg-context
2022-01-21  9:47     ` Vincent Hennebert via ntg-context
2022-01-20 14:42 ` Hans Hagen via ntg-context
2022-01-20 14:55   ` Hans Hagen via ntg-context

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