Hello,

I created a testing file which tests existence and type of 
(tex|context|document).(modes|arguments|variables) by Lua - see the attachments.

It seems that:

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

- 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"

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

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

- 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

  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

Best regards,

Lukas


On Wed, 05 Jan 2011 21:11:51 +0100, Peter Münster <pmli...@free.fr> wrote:

Procházka Lukáš <l...@pontex.cz> writes:

I'd need to pass a variable to Ctx and to retrieve it inside a
compiled document - via Ctx itself and also by Lua.

Hello,

% cmd-line: context --arguments=testvar=my-value test
\starttext
value of testvar: \env{testvar}

with lua: \ctxlua{tex.print(document.arguments.arguments)}
\stoptext

There is perhaps a nicer solution in lua.

Peter



--
Ing. Lukáš Procházka [mailto:l...@pontex.cz]
Pontex s. r. o.      [mailto:pon...@pontex.cz] [http://www.pontex.cz]
Bezová 1658
147 14 Praha 4

Tel: +420 244 062 238
Fax: +420 244 461 038

Attachment: t.mkiv
Description: Binary data

Attachment: t.pdf
Description: Adobe PDF document

___________________________________________________________________________________
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://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to