从Stargazer .tex输出中删除\ begin {tabular}

时间:2015-08-07 15:08:01

标签: r latex tabular stargazer

是否有一种简单的方法可以自动删除

Here is my multiline text 
example with both a " and
a \ within the text

"\n".join([
    "Here is my multiline text ",
    "example with both a \" and",
    "a \\ within the text"
  ])

\begin{tabular}{@{\extracolsep{5pt}}lc}

Stargazer LaTeX输出的开头和结尾的行?

实际上,我只需要内部的LaTeX代码并从stargazer生成的TeX文件中手动删除这些行是完全失去的时间......

2 个答案:

答案 0 :(得分:3)

stargazer中定义用于创建LaTeX输出的每个函数都在(内部)包装函数.stargazer.wrap中定义。因此,自动更新组件并不容易。您必须复制本地维护的软件包,或者每次加载软件包时编辑.stargazer.wrap函数。

以下是How do I override a non-visible function in the package namespace?的指导方针,如何做后者(管理自己的副本需要类似的东西):

  1. 加载stargazer

    > library(stargazer)
    
  2. 编辑.stargazer.wrap命名空间/包中的stargazer函数:

    > fixInNamespace(".stargazer.wrap", pos="package:stargazer")
    
  3. .data.frame.table.header函数中查找并删除至少行4206-4207:

    enter image description here

    这两行用于打印tabular标题。

  4. .publish.table函数中找到并删除至少第3385行:

    enter image description here

    此行打印\end{tabular}(加上换行符)。

答案 1 :(得分:0)

遇到同样的问题,在用R创建表后,我只向我的stargazer代码添加了几行:

filename <- paste0("./my/path/", dplyr::last(list.files("./my/path/"))) # always loads the last file
lines <- readLines(filename) # read file
lines[1:4] <- ""           # I wanted to replace the first four lines
lines[length(lines)] <- "" # as well as the last line

希望这会有所帮助。