Dear guRus,
I am trying to replace "~" by "$\sim$" for TeX. However, I
can't get the
backslash to work. I would like to turn "DV~IV" into
"DV$\sim$IV".
sub("~","$\sim$","DV~IV") =>
"DV$sim$IV"
sub("~","$\\sim$","DV~IV") =>
"DV$sim$IV"
sub("~","$\\\sim$","DV~IV") =>
"DV$sim$IV"
sub("~","$\\\\sim$","DV~IV") =>
"DV$\\sim$IV"
Alternatives 1 and 3 also yield warnings about unknown escape sequences
(no surprise there). I have been unsuccessfully searching the archives.
sessionInfo below.
Thank you all for your time!
Best regards
Stephan
> sessionInfo()
R version 2.7.1 (2008-06-23)
i386-pc-mingw32
locale:
LC_COLLATE=German_Germany.1252;LC_CTYPE=German_Germany.1252;LC_MONETARY=German_Germany.1252;LC_NUMERIC=C;LC_TIME=German_Germany.1252
attached base packages:
[1] stats graphics grDevices utils datasets tcltk methods
base
other attached packages:
[1] svIDE_0.9-5
loaded via a namespace (and not attached):
[1] svMisc_0.9-5
on 07/14/2008 01:09 PM Stephan Kolassa wrote:> Dear guRus, > > I am trying to replace "~" by "$\sim$" for TeX. However, I can't get the > backslash to work. I would like to turn "DV~IV" into "DV$\sim$IV". > > sub("~","$\sim$","DV~IV") => "DV$sim$IV" > sub("~","$\\sim$","DV~IV") => "DV$sim$IV" > sub("~","$\\\sim$","DV~IV") => "DV$sim$IV" > sub("~","$\\\\sim$","DV~IV") => "DV$\\sim$IV" > > Alternatives 1 and 3 also yield warnings about unknown escape sequences > (no surprise there). I have been unsuccessfully searching the archives. > sessionInfo below. > > Thank you all for your time! > > Best regards > StephanYou want door number 4 because when the double escape is cat()'d to the .tex file, you get: > cat("DV$\\sim$IV", "\n") DV$\sim$IV which is what you want latex to process. HTH, Marc Schwartz
Stephan Kolassa
2008-Jul-14 18:39 UTC
[R] Sweave, backslash in sub pattern? was: Backslash in sub pattern?
Phil:
thanks a lot! However, my original problem[1] remains: in fact, I am
trying to \Sexpr the result for Sweave, and for some reason Sweave
regurgitates the \Sexpr command unchanged:
foo.Rnw contains:
\Sexpr{"DV~IV"}
\Sexpr{cat("DV~IV")}
\Sexpr{sub('~','$\\\\sim$',"DV~IV")}
\Sexpr{cat(sub('~','$\\\\sim$',"DV~IV"),"\n")}
After Sweave(foo) the file foo.tex then contains:
\usepackage{Sweave}
DV~IV
\Sexpr{sub('~','$\\\\sim$',"DV~IV")}
\Sexpr{cat(sub('~','$\\\\sim$',"DV~IV"),"\n")}
(yes, with the blank line resulting from \Sexpr{cat("DV~IV")}), and
LaTeX understandably complains that \Sexpr is not a valid command.
My goal: I would like to use some function bar() so that
str <- "DV~IV"
\Sexpr{bar(str)}
yields after Sweaving
DV$\sim$IV
in the tex file.
Any thoughts?
Stephan
[1] Sorry, I now see that my commented, minimal, self-contained,
reproducible code was too minimal... I reduced the problem too far. My bad!
Phil Spector schrieb:> Stephen -
> Since the print function in R always displays two backslashes
> for a single one, you really need to use cat or nchar to make sure
> that things are working:
>
>> sub('~','$\\\\sim$',str)
> [1] "ab$\\sim$cd"
>> cat(sub('~','$\\\\sim$',str),"\n")
> ab$\sim$cd
>
> It's the result of cat that's actually output, not the string that
> R uses to display it.
>
>
> - Phil Spector
> Statistical Computing Facility
> Department of Statistics
> UC Berkeley
> spector at stat.berkeley.edu
>
>
> On Mon, 14 Jul 2008, Stephan Kolassa wrote:
>
>> Dear guRus,
>>
>> I am trying to replace "~" by "$\sim$" for TeX.
However, I can't get
>> the backslash to work. I would like to turn "DV~IV" into
"DV$\sim$IV".
>>
>> sub("~","$\sim$","DV~IV") =>
"DV$sim$IV"
>> sub("~","$\\sim$","DV~IV") =>
"DV$sim$IV"
>> sub("~","$\\\sim$","DV~IV") =>
"DV$sim$IV"
>> sub("~","$\\\\sim$","DV~IV") =>
"DV$\\sim$IV"
>>
>> Alternatives 1 and 3 also yield warnings about unknown escape
>> sequences (no surprise there). I have been unsuccessfully searching
>> the archives. sessionInfo below.
>>
>> Thank you all for your time!
>>
>> Best regards
>> Stephan
>>
>>
>>> sessionInfo()
>> R version 2.7.1 (2008-06-23)
>> i386-pc-mingw32
>>
>> locale:
>>
LC_COLLATE=German_Germany.1252;LC_CTYPE=German_Germany.1252;LC_MONETARY=German_Germany.1252;LC_NUMERIC=C;LC_TIME=German_Germany.1252
>>
>>
>> attached base packages:
>> [1] stats graphics grDevices utils datasets tcltk
>> methods base
>>
>> other attached packages:
>> [1] svIDE_0.9-5
>>
>> loaded via a namespace (and not attached):
>> [1] svMisc_0.9-5
>>
>> ______________________________________________
>> R-help at 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.
>>
>