Renaud AUBIN wrote:
Hi all,
Is it possible to run a ruby script from a context document during its processing (I already know how to do that using \write18 but there is maybe a better way...) then get the output of the script to display or use it into the document. It's a little bit hard to describe so I have a simple example:
\starttext \def\vartest{3.124325234543523452435} \write18{ruby ./myscript.rb \vartest XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX} \stoptext
with myscript.rb:
temp = ARGV[0] puts "\nXXXXXXXXXXXXX " + (Math::sqrt(temp.to_f)).to_s + " XXXXXXXXXXXXX\n"
I would store the result of puts into a variable usable within ConTeXt...
piping: the latest versions of pdftex support this (i\ve forgotten the syntax, but taco who wrote the patch may remember) you can also let ruby write a definition to a file temp.tmp which you can read in however, luatex can do: \edef\SomeVar{\lua{tex.print(math.sqrt(3.124325234543523452435))} or \def\GimmeARoot#1{\lua{tex.print(math.sqrt(#1))} actually, this is one of the examples i use in prelim demos at user group meetings -) so, be a bit patient and it will come your way ... 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 -----------------------------------------------------------------