[R] patchDVI: how to pass encoding of the .Rnw file?
Duncan Murdoch
murdoch.duncan at gmail.com
Tue Aug 21 17:31:00 CEST 2012
On 12-08-19 3:47 PM, Marius Hofert wrote:
> Dear Duncan,
>
> I recently asked a question concerning patchDVI on r-help, see
>
> ,----
> | https://stat.ethz.ch/pipermail/r-help/2012-August/321780.html
> `----
>
> Unfortunately, no one could help. I was wondering if you know a solution to the
> above problem. Any hint is highly appreciated.
Sorry, I'm writing this while offline, so I can't quote your message.
The issue was that if the main .tex file uses \input to include another
file,
and that file needs to be processed by Sweave, then the usual encoding
detection method (looking for \usepackage[utf8]{inputenc} or similar) won't
work, because you can't put that line in the secondary file.
The solution is the same as when using Sweave: put a default encoding into
the call to SweavePDF (or the similar functions). For example, my editor
always executes this command when asked to process a .Rnw file:
patchDVI::SweavePDF('%2', stylepath=FALSE,
preview="f:/SumatraPDF/SumatraPDF \x25s",
encoding="utf8")
The %2 is a place holder for the filename to process. The preview argument
invokes the PDF previewer that knows Synctex; the stylepath and encoding
arguments are passed to Sweave. Because I chose encoding="utf8", Sweave
will assume that encoding as the default for files. Another encoding
can be
explicitly declared.
When I have multi-file projects, I make use of .TexRoot and .SweaveFiles
in each of the files so I can make the whole project each time;
see the patchDVI vignette (section 6) for details of how they work.
I think you also asked how to do this in Emacs; I've got no idea about that.
Duncan Murdoch
More information about the R-help
mailing list