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