Re: [NTG-context] scaling reusableMPgraphic & some ConTeXt programming

2006-07-26 Thread Mojca Miklavec
On 7/25/06, Hans Hagen wrote:
> Mojca Miklavec wrote:
> > And yet another short&stupid question: when does \c!something=\v!value
> > work? I tried to change \setupGNUPLOT[terminal=context] into
> > [\c!terminal=\v!context] (in \unprotect-ed area), but I get a
> > command-undefined error.
> >
> only predefined key/values (in mult-con) are stored in their efficient ! form 
> (and get translated when needed)

Thanks. I never understood what
\def\c!first {first}
\def\c!last  {last}
\def\c!quotechar {quotechar}
was doing in m-database.

Mojca
___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] scaling reusableMPgraphic & some ConTeXt programming

2006-07-25 Thread Hans Hagen
Mojca Miklavec wrote:
> On 7/24/06, Hans Hagen wrote:
>   
>> Mojca Miklavec wrote:
>> 
>>> Hello,
>>>
>>> the answers to these three questions are most probably one-liners, but
>>> I don't know which ones ;)
>>>
>>> 1. How can I scale (an already defined) reusableMPgraphic? Simplified
>>> example of what I currently (want to) have:
>>>
>>> % how should I change this definition?
>>> \def\usemygraphic[#1][#2]{\reuseMPgraphic{#1}}
>>> \usemygraphic[name][width=.7\textwidth]
>>>
>>>   
>> \def\usemygraphic[#1][#2]{\scale[#2]{\reuseMPgraphic{#1}}
>>
>> \usempgraphic[name][width=4cm,height=5cm]
>>
>> \scale accepts the same scaling options as externalfigure
>> 
>
> Thanks to both you and Taco!
>
>   
>> why do you need a counter
>> 
>
>   
>>> 3. I would like to change \usemygraphic, so that
>>> \usemygraphic[othername] or \usemygraphic[othername][height=5cm] would
>>> resolve to
>>> \dorecurse{2}{\useMPgraphic{gpg:othername:\recurselevel}}
>>> and \usemygraphic[name][n={1,3},width=8cm] (syntax might be different
>>> if necessary) to
>>> \reuseMPgraphic{gpg:name:1}
>>> \reuseMPgraphic{gpg:name:3}
>>> (with proper scaling if possible).
>>>
>>>   
>> you want all graphics?
>>
>> \def\usemygraphic#1%
>>   {\doloop
>>  {\doifMPgraphicelse{gpg:#1:\recurselevel}
>> {\reuseMPgraphic{gpg:name:\recurselevel}}
>> {\exitloop}}}
>>
>> or so ...
>> 
>
> Wow! No, I don't need a counter in that case ;)
>
> Just a little detail: Yes, I want all the graphics except if the user
> provides "n={1,3}" or "n=4", then I would like to output only the ones
> specified. I know that this is a trivial question, but how do I
> extract the argument of "n=..." to \processcommalist on it?
>   
depends on how you store it (say in requestedlist), anyhow testing is simple



\def\usemygraphic#1%
  {\doloop
 {\doifMPgraphicelse{gpg:#1:\recurselevel}

{\expanded{\doifinset{\recurselevel}{requestedlist}}{\reuseMPgraphic{gpg:name:\recurselevel}}}
{\exitloop}}}


or so

> And yet another short&stupid question: when does \c!something=\v!value
> work? I tried to change \setupGNUPLOT[terminal=context] into
> [\c!terminal=\v!context] (in \unprotect-ed area), but I get a
> command-undefined error.
>
> Thanks,
> Mojca
> ___
> ntg-context mailing list
> ntg-context@ntg.nl
> http://www.ntg.nl/mailman/listinfo/ntg-context
>   


-- 

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
 tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
 | www.pragma-pod.nl
-

___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] scaling reusableMPgraphic & some ConTeXt programming

2006-07-25 Thread Hans Hagen
Mojca Miklavec wrote:
> And yet another short&stupid question: when does \c!something=\v!value
> work? I tried to change \setupGNUPLOT[terminal=context] into
> [\c!terminal=\v!context] (in \unprotect-ed area), but I get a
> command-undefined error.
>   
only predefined key/values (in mult-con) are stored in their efficient ! form 
(and get translated when needed) 

Hans 


-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
 tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
 | www.pragma-pod.nl
-

___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] scaling reusableMPgraphic & some ConTeXt programming

2006-07-25 Thread Mojca Miklavec
On 7/24/06, Hans Hagen wrote:
> Mojca Miklavec wrote:
> > Hello,
> >
> > the answers to these three questions are most probably one-liners, but
> > I don't know which ones ;)
> >
> > 1. How can I scale (an already defined) reusableMPgraphic? Simplified
> > example of what I currently (want to) have:
> >
> > % how should I change this definition?
> > \def\usemygraphic[#1][#2]{\reuseMPgraphic{#1}}
> > \usemygraphic[name][width=.7\textwidth]
> >
> \def\usemygraphic[#1][#2]{\scale[#2]{\reuseMPgraphic{#1}}
>
> \usempgraphic[name][width=4cm,height=5cm]
>
> \scale accepts the same scaling options as externalfigure

Thanks to both you and Taco!

> why do you need a counter

> > 3. I would like to change \usemygraphic, so that
> > \usemygraphic[othername] or \usemygraphic[othername][height=5cm] would
> > resolve to
> > \dorecurse{2}{\useMPgraphic{gpg:othername:\recurselevel}}
> > and \usemygraphic[name][n={1,3},width=8cm] (syntax might be different
> > if necessary) to
> > \reuseMPgraphic{gpg:name:1}
> > \reuseMPgraphic{gpg:name:3}
> > (with proper scaling if possible).
> >
> you want all graphics?
>
> \def\usemygraphic#1%
>   {\doloop
>  {\doifMPgraphicelse{gpg:#1:\recurselevel}
> {\reuseMPgraphic{gpg:name:\recurselevel}}
> {\exitloop}}}
>
> or so ...

Wow! No, I don't need a counter in that case ;)

Just a little detail: Yes, I want all the graphics except if the user
provides "n={1,3}" or "n=4", then I would like to output only the ones
specified. I know that this is a trivial question, but how do I
extract the argument of "n=..." to \processcommalist on it?

And yet another short&stupid question: when does \c!something=\v!value
work? I tried to change \setupGNUPLOT[terminal=context] into
[\c!terminal=\v!context] (in \unprotect-ed area), but I get a
command-undefined error.

Thanks,
Mojca
___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] scaling reusableMPgraphic & some ConTeXt programming

2006-07-24 Thread Taco Hoekwater


Mojca Miklavec wrote:
> Hello,
> 
> the answers to these three questions are most probably one-liners, but
> I don't know which ones ;)
> 
> 1. How can I scale (an already defined) reusableMPgraphic? Simplified
> example of what I currently (want to) have:
> 
> % how should I change this definition?
> \def\usemygraphic[#1][#2]{\reuseMPgraphic{#1}}
> \usemygraphic[name][width=.7\textwidth]

Guessing:

   \def\usemygraphic[#1][#2]{\scaled[#2]{\reuseMPgraphic{#1}}}

> 
> 2. I have several graphics defined as
 > 
> How can I give a better name than \abc to the counter (the name should
> depend on #2 in order to be unique)?

Better use \definenumber instead of the low-level command.

> 
> 3. I would like to change \usemygraphic, so that
> \usemygraphic[othername] or \usemygraphic[othername][height=5cm] would
> resolve to
> \dorecurse{2}{\useMPgraphic{gpg:othername:\recurselevel}}

Where does this '2' come from?

> and \usemygraphic[name][n={1,3},width=8cm] (syntax might be different
> if necessary) to
> \reuseMPgraphic{gpg:name:1}
> \reuseMPgraphic{gpg:name:3}
> (with proper scaling if possible).
> 
> How should I start?

Create a commalist of desired numbers first (possibly using recursion),
then run \processcommalist on each item.

Cheers, Taco
___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] scaling reusableMPgraphic & some ConTeXt programming

2006-07-24 Thread Hans Hagen
Mojca Miklavec wrote:
> Hello,
>
> the answers to these three questions are most probably one-liners, but
> I don't know which ones ;)
>
> 1. How can I scale (an already defined) reusableMPgraphic? Simplified
> example of what I currently (want to) have:
>
> % how should I change this definition?
> \def\usemygraphic[#1][#2]{\reuseMPgraphic{#1}}
> \usemygraphic[name][width=.7\textwidth]
>   
\def\usemygraphic[#1][#2]{\scale[#2]{\reuseMPgraphic{#1}}

\usempgraphic[name][width=4cm,height=5cm]

\scale accepts the same scaling options as externalfigure

>
> 2. I have several graphics defined as
>
> \startGNUPLOTgraphic[1][name]
>   draw fullcircle scaled 3cm withcolor .625red;
> \stopGNUPLOTgraphic
> \startGNUPLOTgraphic[2][name]
>   draw fullcircle scaled 3cm withcolor .625green;
> \stopGNUPLOTgraphic
> \startGNUPLOTgraphic[3][name]
>   draw fullcircle scaled 3cm withcolor .625blue;
> \stopGNUPLOTgraphic
>
> \startGNUPLOTgraphic[1][othername]
>   fill fullcircle scaled 3cm withcolor .625red;
> \stopGNUPLOTgraphic
> \startGNUPLOTgraphic[2][othername]
>   fill fullcircle scaled 3cm withcolor .625green;
> \stopGNUPLOTgraphic
>
> and a pretty stupid definition:
>
> \long\def\startGNUPLOTgraphic
>   {\dodoubleargument\dostartGNUPLOTgraphic}
>
> \long\def\dostartGNUPLOTgraphic[#1][#2]#3\stopGNUPLOTgraphic % [number][name]
>   {% add to counter to note the nuber of the graphic
>  % define a new counter for the first time when you use it
>\doif{#1}{1}{\doglobal\newcounter\abc}% counter name has to depend on 
> #2
>\doglobal\increment\abc % assigning the value #1 to it would also be OK
>\startreusableMPgraphic{gpg:#2:#1}#3\stopreusableMPgraphic}
>
> How can I give a better name than \abc to the counter (the name should
> depend on #2 in order to be unique)?
>   
why do you need a counter

\long\def\dostartGNUPLOTgraphic[#1][#2]#3\stopGNUPLOTgraphic
  {\startreusableMPgraphic{gpg:#2:#1}#3\stopreusableMPgraphic}


>
> 3. I would like to change \usemygraphic, so that
> \usemygraphic[othername] or \usemygraphic[othername][height=5cm] would
> resolve to
> \dorecurse{2}{\useMPgraphic{gpg:othername:\recurselevel}}
> and \usemygraphic[name][n={1,3},width=8cm] (syntax might be different
> if necessary) to
> \reuseMPgraphic{gpg:name:1}
> \reuseMPgraphic{gpg:name:3}
> (with proper scaling if possible).
>   
you want all graphics?

\def\usemygraphic#1%
  {\doloop
 {\doifMPgraphicelse{gpg:#1:\recurselevel}
{\reuseMPgraphic{gpg:name:\recurselevel}}
{\exitloop}}} 

or so ... 


Hans 

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
 tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
 | www.pragma-pod.nl
-

___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


[NTG-context] scaling reusableMPgraphic & some ConTeXt programming

2006-07-23 Thread Mojca Miklavec
Hello,

the answers to these three questions are most probably one-liners, but
I don't know which ones ;)

1. How can I scale (an already defined) reusableMPgraphic? Simplified
example of what I currently (want to) have:

% how should I change this definition?
\def\usemygraphic[#1][#2]{\reuseMPgraphic{#1}}
\usemygraphic[name][width=.7\textwidth]


2. I have several graphics defined as

\startGNUPLOTgraphic[1][name]
draw fullcircle scaled 3cm withcolor .625red;
\stopGNUPLOTgraphic
\startGNUPLOTgraphic[2][name]
draw fullcircle scaled 3cm withcolor .625green;
\stopGNUPLOTgraphic
\startGNUPLOTgraphic[3][name]
draw fullcircle scaled 3cm withcolor .625blue;
\stopGNUPLOTgraphic

\startGNUPLOTgraphic[1][othername]
fill fullcircle scaled 3cm withcolor .625red;
\stopGNUPLOTgraphic
\startGNUPLOTgraphic[2][othername]
fill fullcircle scaled 3cm withcolor .625green;
\stopGNUPLOTgraphic

and a pretty stupid definition:

\long\def\startGNUPLOTgraphic
{\dodoubleargument\dostartGNUPLOTgraphic}

\long\def\dostartGNUPLOTgraphic[#1][#2]#3\stopGNUPLOTgraphic % [number][name]
{% add to counter to note the nuber of the graphic
 % define a new counter for the first time when you use it
 \doif{#1}{1}{\doglobal\newcounter\abc}% counter name has to depend on 
#2
 \doglobal\increment\abc % assigning the value #1 to it would also be OK
 \startreusableMPgraphic{gpg:#2:#1}#3\stopreusableMPgraphic}

How can I give a better name than \abc to the counter (the name should
depend on #2 in order to be unique)?


3. I would like to change \usemygraphic, so that
\usemygraphic[othername] or \usemygraphic[othername][height=5cm] would
resolve to
\dorecurse{2}{\useMPgraphic{gpg:othername:\recurselevel}}
and \usemygraphic[name][n={1,3},width=8cm] (syntax might be different
if necessary) to
\reuseMPgraphic{gpg:name:1}
\reuseMPgraphic{gpg:name:3}
(with proper scaling if possible).

How should I start?

Thank you a lot for any hints,
Mojca Miklavec
___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context