[NTG-context] requesting multipass

Hans Hagen pragma at wxs.nl
Tue Apr 27 23:47:03 CEST 2010


On 27-4-2010 11:09, Philipp Gesang wrote:
> On 2010-04-27<20:02:27>, Hans Hagen wrote:
>> On 27-4-2010 5:04, Philipp Gesang wrote:
>>> Hi all,
>>>
>>>
>>> how do I trigger another pass?
>>>
>>> Using md5 and io I want to save data to a helper file and reuse it in a
>>> second pass (like e.g. mtx-context.lua) or update the file if
>>> appropriate. But I couldn't quite figure out how to request another pass
>> >from the lua end.
>>
>> there's
>>
>> jobfiles.run(
>> 	"filename-to-be-checked",
>> 	"command-to-be-executed-if-changed"
>> )
>
> Good evening, Hans!
>
>
> Let me clarify my intention a bit: jobfiles.run calls "context" on the
> argument list, but that is not what I need.
>
> My problem is that I generate stuff during the tex run and want to
> collect it in a table that is saved to a file at the end of the run.
> This data is hashed at the beginning of the document and if the hash
> does not match the end-run hash _or_ the file doesn't exist in the first
> place, then I'd like to run another independent pass.
>
> (I guess I could use jobfiles.run to process \jobname at the very end of
> the document but would have to handle recursion somehow.)

so, as you save your data in a file, just after saving the table, hash 
that file:

\starttext

test

\startluacode
     jobvariables.tobesaved.MyPersonalChecksum = file.checksum("MyName") 
or "no checksum"
\stopluacode

\stoptext

the context runner will take care of extra runs then.

(I'll think about a more robust user space for such status variables but 
as long as you use UpperCased names you quite safe.)


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