hi thomas,

am Mittwoch 10 März 2010 (20:14) schrieb Thomas Friedrichsmeier:
> hmm, that is not currently possible from JS.

happy to read this -- at least i haven't overseen it ;-)

> Would it be possible to use R code for that, instead?

yes and no: R can do system calls, and it actually does that later in my 
plugin. on the other hand, the previous PHP system call is used to check paths 
to the needed executables, to then *generate* the R system calls with the 
collected information (see below).

what i want: generate LaTeX output in an temp folder, call pdflatex on those 
files and probably pdftk to glue them together to one file. i'd gladly do it 
all without calling external binaries, if there's a way.

i must admit that my approach here is kind of, hmmm, experimental... maybe no 
one (with the exception of me) will ever need that. but to me it's very handy.

> This would potentially have the added benefit of making the
> generated code more portable.

that would be great -- right now pdf generation will only work with a hand 
full of unix commands.

> If that suggestion does not sound good to you, could you post a couple of 
> example lines to make it easier to discuss the details?

you can try the whole thing, if you like. this is the rkward-plugin:
 o http://r.reaktanz.de/klausuR_rkward/klausuR_rkward-0.9-3.tar.gz
it includes a .pluginmap you can just add for testing. of course it won't 
really work without the klausuR R package (which is available as well), but if 
you toggle the checkboxes concerning pdf, you can at least see how it behaves.

a critical part goes something like this:

<code>
  // get paths for the needed command line tools
  $cmd_mktemp   = exec("which mktemp");
    if($cmd_mktemp == "") $cmd_mktemp = "FAILED!";
  $cmd_pdflatex = exec("which pdflatex");
  // check if they're installed at all
    if($chk_pdf_pdftk){
      $cmd_pdftk    = exec("which pdftk");
        if($cmd_pdftk == "") $cmd_pdftk = "FAILED!";
     } else $cmd_pdftk = "(not used)";

  if($cmd_mktemp == "FAILED!" || $cmd_pdflatex == "FAILED!" || $cmd_pdftk ==   
   "FAILED!"){
    // if they can't be found, give an error and reset $chk_pdflatex
        echo("## SORRY, can't invoke pdf generation.\n".
             "# path to mktemp:\t".$cmd_mktemp."\n".
             "# path to pdflatex:\t".$cmd_pdflatex."\n".
             "# path to pdftk:\t".$cmd_pdftk."\n");
        $chk_pdflatex = FALSE;
    } else {
     // if all tools are found, create temp directory first
        echo("# OK, found these tools for pdf generation:\n".
             "# path to mktemp:\t".$cmd_mktemp."\n".
             "# path to pdflatex:\t".$cmd_pdflatex."\n".
             "# path to pdftk:\t".$cmd_pdftk."\n#\n");
?>
# create a tempdir, to later run pdflatex on the LaTeX files
pdf.build.path <- try(system("TMPDIR=${TMPDIR:-/tmp} ; <? echo($cmd_mktemp); 
?> -d \"$TMPDIR/tmp.XXXXXXXXXXXXX\"", intern=TRUE))
</code>



viele grüße :: m.eik

-- 
dipl. psych. meik michalke
institut f"ur experimentelle psychologie
abt. f"ur diagnostik und differentielle psychologie
heinrich-heine-universit"at 40225 d"usseldorf

Attachment: signature.asc
Description: This is a digitally signed message part.

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
RKWard-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rkward-devel

Reply via email to