[NTG-context] Passing and retrieveing a variable

Hans Hagen pragma at wxs.nl
Fri Jan 7 22:58:24 CET 2011

On 7-1-2011 9:32, Procházka Lukáš Ing. - Pontex s. r. o. wrote:

> - Modes are accessible by tex.modes[<a-mode>].


> - - tex.modes are 'false' by default. I.e. they are not 'nil' but
> 'false', even if not specified on the command line. (tex.mode.__newindex
> predefined to this purpose?)


> - There is no table of arguments or variables being passed by
> --arguments="ARG=arg" or by --variable="VAR=var" from the command line.

indeed (--arguments is an old mechanism and mkii compatible)

> - All arguments passed to the command line are accessible by
> document.arguments. Unfortunately, when repeating an arg, only the last
> is accessible, e.g.
> context.exe t.mkiv --arguments="ARG1=arg1" --arguments="ARG2=arg2"

indeed, so one can easily overload

> will cause that only (string) "ARG2=arg2" will be in
> document.arguments.arguments.

as mentioned by someone already, use "a=1,b=2,c=3"

> - - That means also that not splitting to key-value pair is not
> performed by default (document.arguments.arguments is still "ARG2=arg2",
> no splitting to document.arguments.arguments.ARG2 to be "arg2" is not
> done).

indeed, although they are split and assigned at the tex end

> - Not only predefined options/switches, but all args passed by command
> line are accessible by document.arguments. I.e. it's possible to call
> context.exe t.mkiv --myvar=MYVAR

right, but make sure to use a prefix so that there is no confusion 
(myvarone myvartwo etc)

> and later it's possible to get "MYVAR" from document.arguments.myvar.
> Let's check the call:
> context.exe t.mkiv --arguments=AAA=aaa --mode=MMM --arguments=BBB=bbb
> --myvar=MYVAR


                                           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

More information about the ntg-context mailing list