You were right, that I would run into trouble with all these "". However,
the second method doesn't work either. Somehow, the UTF8Sweave.sh file is
not found during the compilation of my document. It says "can't open perl
script .../bin/UTF8Sweave.sh: No such file or directory". I double checked
that a file with this name is present in the same folder as the original
Sweave.sh file and that the "Sweave" is changed to "UTF8Sweave" in the LyX
preference file. Any idea, what could be wrong?
Erich
On Wed, 12 May 2010 16:20:03 -0400
Duncan Murdoch <murdoch.dun...@gmail.com> wrote:
On 12/05/2010 3:55 PM, Erich Studerus wrote:
Thanks again. Putting options(encoding="") into the R code chunk before
calling the read.xls function indeed did the trick. Now, I have one last
question: How can I edit the LyX preference file to call R with
options(encoding='UTF-8'). I prefer to edit the LyX preference file rather
than the Sweave.sh file, because I want to run R with UTF-8 only when I
use
XeTeX. By editing the LyX preference file, I assume it would be possible
to
define different R encoding setups for different converters.
One way would be to change
R CMD Sweave $$i
in
\converter "literate" "latex" "R CMD Sweave $$i" ""
to
echo "library(\"utils\"); options(encoding=\"UTF-8\"); Sweave(\"$$i\")" |
R --no-restore --slave
but you may run into trouble because there's an extra set of "" to go
around there, and I don't know how Lyx handles escaping all those quotes.
So probably an easier way to go would be to take the Sweave.sh file
that you've already edited, and copy it into UTF8Sweave.sh in the same
directory. Then you can change the Lyx preference line to
\converter "literate" "latex" "R CMD UTF8Sweave $$i" ""
and things should work. (Then you can restore the original Sweave.sh file
for cases where you don't
want UTF-8.)
Duncan Murdoch
Erich
On Wed, 12 May 2010 14:43:52 -0400
Duncan Murdoch <murdoch.dun...@gmail.com> wrote:
> On 12/05/2010 2:29 PM, Erich Studerus wrote:
>> Thank you! I edited the Sweave.sh file and it works now for reading
data
>> stored as R data files, but the read.xls function from the
gdata-package
>> does no longer work.
>>
>> options('encoding'='UTF-8')
>> require(gdata)
>> read.xls("http://www.schwerhoerigkeit.pop.ch/hoergeraete_test.xls",
>> stringsAsFactors = F)[2,2]
>>
>> This gives NA as output and a warning that there was an invalid entry
for
>> the connection. Is there a way to use read.xls with UTF-8 encoding?
>>
>
> I don't know, you'd have to ask its authors. But you can probably set
>options(encoding="") before calling it. (I'm assuming the read.xls() is
in
>a code chunk in your Sweave file. I would guess that you don't need to
set
>the encoding back to UTF-8 afterwards, but you might: it all depends on
>when Sweave() opens its
> output file.)
>
> Duncan Murdoch
>>
>>
>>
>>
>> On Wed, 12 May 2010 12:45:51 -0400
>> Duncan Murdoch <murdoch.dun...@gmail.com> wrote:
>> > On 12/05/2010 11:36 AM, Erich Studerus wrote:
>> >> Putting \usepackage[cp1252]{inputenc} into my preamble is not an
>>option,
>> >> because XeTeX unlike LaTeX needs UTF-8 has input encoding. My goal
is
>>also
>> >> to have a LyX document that can be compiled both on Mac and Windows.
>> >>
>> >> I usually compile my Lyx-Sweave documents by one click of a button
from
>> >> within Lyx. R code chunks are therefore executed by calling R from
the
>> >> command line. If anybody knows how to run R with
>>options(encoding="UTF-8")
>> >> from the command line under windows, that would be helpful.
>> >>
>> >> The command that calls R during compilation is contained in this
file:
>> >> http://cran.r-project.org/contrib/extra/lyx/preferences
>> >>
>> >
>> >
>> > You can do it with a little work. If you look at the
>>rhome/bin/Sweave.sh
>> >file, you'll see that
>> >
>> > R CMD Sweave file.Rnw
>> >
>> > just executes something like
>> >
>> > echo "library(\"utils\"); Sweave(\"file.Rnw\")" | R --no-restore
--slave
>> >
>> > What you want is to execute
>> >
>> > echo "library(\"utils\"); options(encoding="UTF-8");
>>Sweave(\"file.Rnw\")"
>> >| R --no-restore --slave
>> >
>> > You could edit the rhome/bin/Sweave.sh file appropriately if you
always
>> >want Sweave to use UTF-8, or you could edit your Lyx preference file
to
>>put
>> >in a line like this instead of what it had.
>> >
>> > Duncan Murdoch
>>
>> ______________________________________________
>> R-help@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>>http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.