Le 21/01/13 09:58, Jean-Marc Lasgouttes a écrit :
The branch, master, has been updated.

- Log -----------------------------------------------------------------

commit c48bdf845c8d650a67dfb14da54fe2bd5fc2cd1f
Author: Jean-Marc Lasgouttes <[email protected]>
Date:   Mon Jan 21 09:48:28 2013 +0100

     Handle encoding correctly with knitr>=1.0 (#8504)

This is candidate for branch.

JMarc


     Knitr now has a parameter to indicate the encoding of the file. With this 
patch,it is used when possible (from Yihui Xie).

diff --git a/lib/scripts/lyxknitr.R b/lib/scripts/lyxknitr.R
index 7c029ea..438b40a 100644
--- a/lib/scripts/lyxknitr.R
+++ b/lib/scripts/lyxknitr.R
@@ -21,12 +21,8 @@
  ## $$e encoding (e.g. 'UTF-8')

  library(knitr)
-
  .cmdargs = commandArgs(TRUE)

-.orig.enc = getOption("encoding")
-options(encoding = .cmdargs[3])
-
  ## the working directory is the same with the original .lyx file; you
  ## can put your data files there and functions like read.table() can
  ## work correctly without specifying the full path
@@ -34,4 +30,11 @@ setwd(.cmdargs[4])
  opts_knit$set(root.dir = getwd())

  ## run knit() to get .tex or .R
-knit(.cmdargs[1], output = .cmdargs[2], tangle = 'tangle' %in% .cmdargs)
+if (is.null(formals(knit)$encoding)) {
+  .orig.enc = getOption("encoding")
+  options(encoding = .cmdargs[3])
+  knit(.cmdargs[1], output = .cmdargs[2], tangle = 'tangle' %in% .cmdargs)
+} else {
+  knit(.cmdargs[1], output = .cmdargs[2], encoding = .cmdargs[3],
+       tangle = 'tangle' %in% .cmdargs)
+}

-----------------------------------------------------------------------

Summary of changes:
  lib/scripts/lyxknitr.R |   13 ++++++++-----
  1 files changed, 8 insertions(+), 5 deletions(-)


hooks/post-receive


Reply via email to