Hmisc latex fuction need to remove the first line

前端 未结 1 1702
别跟我提以往
别跟我提以往 2021-01-25 09:19

Im using Hmisc in rmarkdown file. when I create a table this is what I do

---
output: pdf_document
---

```{r Arrests Stats, results =\'asis\', message = FALSE,          


        
相关标签:
1条回答
  • 2021-01-25 09:30

    Looks like that's hard-coded into latex.default (cat("%", deparse(sys.call()), "%\n", file = file, append = file != "", sep = "") is in the body, with no conditional surrounding it).

    I think your best guess then would be to capture.output the cat-d output and strip the comment yourself.

    cat(capture.output(latex(head(mtcars), file=''))[-1], sep='\n')
    

    The capture.output catches all the stuff that latex(...) cats, the [-1] removes the first line (being the '%latex.default'), the cat prints out everything else, with newline separator.

    You might define your own mylatex to do this, and be a little more clever (e.g. instead of blindly stripping the first line of the output, you could only strip it if it started with '%').

    mylatex <- function (...) {
        o <- capture.output(latex(...))
        # this will strip /all/ line-only comments; or if you're only
        #  interested in stripping the first such comment you could
        #  adjust accordingly
        o <- grep('^%', o, inv=T, value=T)
        cat(o, sep='\n')
    }
    mylatex(head(mtcars), file='')
    
    0 讨论(0)
提交回复
热议问题