[OS X TeX] Strange TeXShop engine behaviour

Herbert Schulz herbs at wideopenwest.com
Thu Sep 22 14:27:24 EDT 2011


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?

Good Luck,

Herb Schulz
(herbs at wideopenwest dot com)






More information about the MacOSX-TeX mailing list