On Mon, 15 Jun 2020, Aditya Mahajan wrote:
On Sun, 14 Jun 2020, Fabrice L wrote:
Hi,
Following a question about the broken R module (R the statistical software), Aditya suggested me the filter module (thanks to him). I’m about to distribute a set of course notes to colleagues, and I need to deal with details now. I have one problem and two questions.
1) the filter collect R code between \startR / \stopR and submit this code to R. As it can be seen in the following minimal example, when a label contains an accented character (« Fréquence » in my example), the pdf graphic does not contains the « é ». Strangely, the snippet of code (which is saved locally as « test2-temp-R-0.tmp » (for test2.tex)) when submitted with the same command as the filtercommand, works correctly; that means the same file works when submitted to R outside of ConTeXt. I have no idea how to solve this.
Are you running the exact same command as the `filtercommand`. If so, I don't know why running the `filtercommand` through context vs directly typing it on the terminal should behave differently. The filter module effectively just runs os.execute("filtercommand"). I don't use R so I am unable to debug further.
I can reproduce this output side the filter module. If I directly run os.execute(...) from a lua session, the output is correct but running it through context gives the wrong output. I am guessing this is something to do with locale. I notice that the output of os.execute("locale") from context is different from that from my shell. But I don't know why locale should affect UTF characters in R. Perhaps someone with more knowledge of R can comment on that. \starttext \startluacode lfs.mkdir("output/") \stopluacode \startbuffer[code] pdf("output/MyHistogram.pdf",5,5) X <- rnorm(200,mean=10,sd=2) hist(X, col = "red3" , xlab="Score QI" , main="", ylab="fréquence") \stopbuffer \savebuffer[prefix=no, list=code, file={output/code.r}] \startluacode print(">>>>", "RUNNING R CMD") os.execute("R CMD BATCH --no-timing --save --restore output/code.r output/out") \stopluacode \externalfigure[RPlots/MyHistogram.pdf][width=.5\textwidth] \stoptext Aditya