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. >> >