cls59 wrote:
Hello Everyone,

I am an avid Sweave user and I am trying to pretty print floating point
numbers for latex output. For example in my document, I would like:

4.2\cdot 10^-{8}

Instead of:

4.2e-08

The Hmisc package has a nice function for doing this- but Hmisc has a ton of
dependencies and has proved very unportable to the various machines I work
on. So, I set out to write my own function that just uses basic R commands,

Please name the dependencies that are bothering you.
Frank Harrell

it looks like this:

latexNum <- function (x,dig=4,sci=T) {
    x <- format(x,digits=dig,scientific=sci)
                
         x <- gsub("e\\+00","",x)
         x <- gsub("e\\-0([0-9]*)","\\\\cdot 10^{-\\1}",x)
         x <- gsub("e\\-([0-9]*)","\\\\cdot 10^{-\\1}",x)
         x <- gsub("e\\+0([0-9]*)","\\\\cdot 10^{\\1}",x)
         x <- gsub("e\\+([0-9]*)","\\\\cdot 10^{\\1}",x)
return(x)
}

Everything works nicely, if I type

latexNum(4*10^-3)

I get

[1] "4\\cdot10^{-3}"

And the following:

cat(latexNum(4*10^-3))

Produces:

4\cdot10^{-3}

However the following in a .Rnw file:

$\Sexpr{latexNum(4*10^-3)}$\\

Only produces this in the .tex output file:

$4cdot 10^{-3}$\\

No amount of extra backslashing seems to help. Any idea why my escapes are
not being respected?

-----
Charlie Sharpsteen
Undergraduate
Environmental Resources Engineering
Humboldt State University


--
Frank E Harrell Jr   Professor and Chair           School of Medicine
                     Department of Biostatistics   Vanderbilt University

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

Reply via email to