Re: [NTG-context] scaling reusableMPgraphic some ConTeXt programming
On 7/25/06, Hans Hagen wrote: Mojca Miklavec wrote: And yet another shortstupid 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
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 shortstupid 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
Mojca Miklavec wrote: And yet another shortstupid 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
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 shortstupid 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
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
Re: [NTG-context] scaling reusableMPgraphic some ConTeXt programming
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
[NTG-context] scaling reusableMPgraphic some ConTeXt programming
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