Does the knitr example file work? I forget how to get to example files on MacOS.

Mabye Yihui will have an idea of what's going on, but in the meantime
if you want to try something, you can try with the newest version of
LyX's knitr module that Yihui sent in a couple of days ago. To do
this, you can either

(1) apply the attached diff. It should succeed on 2.0.4 with a hunk offset.

or

(2) copy the other two files attached, to the correct places.

Don't forget to back up the original files.

Scott

On Sat, Sep 29, 2012 at 11:52 AM, Michael Bach <pha...@gmail.com> wrote:
> Just a quick follow-up.
>
> I gather from the log that R reads the file as UTF-8. I checked my System
>
> $ locale
>
> and the R
>
>> Sys.getlocale()
>
> Both are correctly set up as en_US.UTF-8. Just to rule that one out(?)...
>
diff --git a/lib/examples/knitr.lyx b/lib/examples/knitr.lyx
index ddbfe01..feab161 100644
--- a/lib/examples/knitr.lyx
+++ b/lib/examples/knitr.lyx
@@ -182,7 +182,7 @@ status collapsed
 
 \begin_layout Plain Layout
 
-http://yihui.github.com/knitr
+http://yihui.name/knitr
 \end_layout
 
 \end_inset
diff --git a/lib/layouts/knitr.module b/lib/layouts/knitr.module
index 694ae77..fe64359 100644
--- a/lib/layouts/knitr.module
+++ b/lib/layouts/knitr.module
@@ -1,7 +1,7 @@
 #\DeclareLyXModule[knitr->latex]{Rnw (knitr)}
 #DescriptionBegin
 #Uses the knitr package in R for dynamic report generation. This R package has 
to be installed for this module to work: install.packages('knitr'). Note it 
depends on R >= 2.14.1.
-#For more info see http://yihui.github.com/knitr
+#For more info see http://yihui.name/knitr
 #DescriptionEnd
 #Category: literate
 #Excludes: lilypond | sweave
diff --git a/lib/scripts/lyxknitr.R b/lib/scripts/lyxknitr.R
index 03150f2..7c029ea 100644
--- a/lib/scripts/lyxknitr.R
+++ b/lib/scripts/lyxknitr.R
@@ -11,7 +11,7 @@
 ## author Yihui Xie
 
 ## knitr is an alternative package to Sweave, and has more features
-## and flexibility; see https://yihui.github.com/knitr
+## and flexibility; see https://yihui.name/knitr
 
 ## Rscript $$s/scripts/lyxknitr.R $$p$$i $$p$$o $$e $$r
 ## $$p the path of the output (temp dir)
@@ -31,18 +31,7 @@ options(encoding = .cmdargs[3])
 ## can put your data files there and functions like read.table() can
 ## work correctly without specifying the full path
 setwd(.cmdargs[4])
+opts_knit$set(root.dir = getwd())
 
-## copy the Rnw file to the current working directory if it does not exist
-.tmp.file = tempfile(); .rnw.file = basename(.cmdargs[1])
-.rnw.exists = file.exists(.rnw.file)
-if (.rnw.exists) file.rename(.rnw.file, .tmp.file)
-file.copy(.cmdargs[1], '.')
 ## run knit() to get .tex or .R
-knit(.rnw.file, tangle = 'tangle' %in% .cmdargs)
-
-setwd(.cmdargs[4])
-## remove the copied .Rnw if it did not exist, otherwise move the original one 
back
-if (.rnw.exists) file.rename(.tmp.file, .rnw.file) else unlink(.rnw.file)
-file.rename(basename(.cmdargs[2]), .cmdargs[2])  # move .tex to the temp dir
-rm(.tmp.file, .rnw.file, .rnw.exists)  # clean up these variables
-
+knit(.cmdargs[1], output = .cmdargs[2], tangle = 'tangle' %in% .cmdargs)

Attachment: knitr.module
Description: Binary data

Attachment: lyxknitr.R
Description: Binary data

Reply via email to