[OS X TeX] Strange TeXShop engine behaviour
Berend Hasselman
bhh at xs4all.nl
Thu Sep 22 15:28:36 EDT 2011
On 22-09-2011, at 20:27, Herbert Schulz wrote:
>
> On Sep 22, 2011, at 1:15 PM, Alan Munn wrote:
>
>> I use Sweave to mix R code with LaTeX. I run this through a Sweave engine in TeXShop, which basically runs R on the .Rnw file (a mix of R and LaTeX) producing a .tex file with the output of the R commands included in the LaTeX.
>>
>> I've discovered a problem, however, with how the file encoding is treated when R is run from within TeXShop.
>>
>> Here's the summary: when I run R via an engine from within TeXShop, the encoding of the file seems to be changed when it is passed to R. When I run the R command directly from the command line, the encoding is preserved AND when I run the .engine file from the command line (rather than from within TeXShop) the encoding is preserved.
>>
>> Here's a sample file (you will need to have R installed to test this).
>>
>> \documentclass{article}
>> \usepackage[utf8]{inputenc}
>> \begin{document}
>> Some non-ascii text: éüáî
>> <<>>=
>> sessionInfo()
>> @
>> \end{document}
>>
>> If I run this file from the command line:
>>
>> R CMD Sweave myfile.Rnw
>>
>> the output .tex file is the following:
>>
>> \documentclass{article}
>> \usepackage[utf8]{inputenc}
>> \usepackage{Sweave}
>> \begin{document}
>> Some non-ascii text: éüáî
>> \begin{Schunk}
>> \begin{Sinput}
>>> sessionInfo()
>> \end{Sinput}
>> \begin{Soutput}
>> R version 2.13.1 (2011-07-08)
>> Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
>>
>> locale:
>> [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
>>
>> attached base packages:
>> [1] stats graphics grDevices utils datasets methods base
>>
>> loaded via a namespace (and not attached):
>> [1] tools_2.13.1
>> \end{Soutput}
>> \end{Schunk}
>> \end{document}
>>
>> This is correct. Notice that the non-ASCII characters in the .Rnw file get correctly coded in the output .tex file. Furthermore, the output of the R sessionInfo() command shows that the locale is en_US.UTF8 (which is what it should be.)
>>
>> Now here's the problem.
>>
>> When run from within TeXShop using the following .engine:
>>
>> #!/bin/bash
>>
>> export PATH=$PATH:/usr/texbin:/usr/local/bin
>> R CMD Sweave "$1"
>> pdflatex "${1%.*}"
>>
>>
>> it produces the following:
>>
>> \documentclass{article}
>> \usepackage[utf8]{inputenc}
>> \usepackage{Sweave}
>> \begin{document}
>> NA
>> \begin{Schunk}
>> \begin{Sinput}
>>> sessionInfo()
>> \end{Sinput}
>> \begin{Soutput}
>> R version 2.13.1 (2011-07-08)
>> Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
>>
>> locale:
>> [1] C
>>
>> attached base packages:
>> [1] stats graphics grDevices utils datasets methods base
>>
>> loaded via a namespace (and not attached):
>> [1] tools_2.13.1
>> \end{Soutput}
>> \end{Schunk}
>> \end{document}
>>
>> As you can see, two things have changed. The line containing the non-ASCII characters has been converted to NA by Sweave because the locale has been changed to C (which is basically plain ASCII).
>>
>> What's even stranger is that if I use the .engine file to run Sweave from the command line, I get the correct output again.
>>
>> I.e.
>>
>> ~/Library/TeXShop/Engines/Sweave.engine myFile.Rnw
>>
>> doesn't change the locale, and the file is correctly produced as UTF-8.
>>
>> Does anyone have any idea what might be causing this?
>>
>> Thanks
>>
>> Alan
>>
>
> Howdy,
>
> Hmmmm… what is your default encoding in TeXShop? If you put the line
>
> % !TEX encoding = UTF-8 Unicode
>
> at the top of the file does that change anything? Are you using Lion?
I have also tried this with the above encoding line.
Contents copied from within Mail and transferred to TextMate and saved with UTF8.
On screen it looks as it should.
Running Mac OS X 10.6.8, TexLive 2010 and TeXShop 2.43
I see exactly the same thing. Weird result when using TeXShop.
All ok using Sweave from the Terminal as follows: Rscript -e "patchDVI::SweavePDF('Rsamp.Rnw')"
(I am using patchDVI from R-forge and R 2.13.1).
Berend
More information about the MacOSX-TeX
mailing list