> On 21 Sep 2018, at 10:30, Henri Menke <henrime...@gmail.com> wrote: > > On 21/09/18 20:09, J Huisman wrote: >> Hi all, >> >> I'm getting back to using ConTeXt after a couple of years, so I might >> be missing something obvious... >> >> I would like to add an I.D. code to the name of my outputfile, but >> since this will be used in an automated environment I would like to >> load the ID-code from the source file. >> >> MWE: test.tex >> >> \starttext >> >> \def\idcode{something} >> >> Some text, whatever. >> >> \stoptext >> >> If I typeset with: context text --result=test-idcode the result is >> obviously "test-idcode.pdf", but I want to get a file name: >> "test-something.pdf" >> Is this possible? > > Once you enter TeX, the output file has been opened. The very concept > of a filesystem forbids you to change the filehandle while writing. So > no, it is not possible easily.
But it can be done sneakily … % start demo \enabledirectives[system.callbacks.permitoverloads] % previous line allows redefinition of ‘wrapup_run’ % to keep the code short, I use a direct definition of % \idcode and \ctxlua. Nicer would be to store the desired % output name in a lua variable and replace the % \ctxlua with \startluacode … \stopluacode with % a string.format inside it. \def\idcode{something} \ctxlua{callbacks.register('wrapup_run', function() os.execute("cp \jobname.pdf doc-\idcode.pdf") end)} \starttext Hello from \idcode \stoptext % stop demo Taco ___________________________________________________________________________________ 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________