1

我想使用 将图形输出到单个 tex 文件{tikzDevice},我编写了以下循环试图实现它:

library{tikzDevice}

graphList <- list(...) # ... are the graphs I have made using ggplot2

for (i in 1:length(graphList)) {

    cat("\\begin{figure}\n", file = "GraphList.tex", append=TRUE)
    sink("GraphList.tex", append=TRUE)

    tikz(console = TRUE)
    graphList[[i]]
    dev.off()

    sink()

    cat(paste0("\\caption{", names(graphList)[[i]],"}",sep=" "), 
    file = "GraphList.tex", append=TRUE)
    cat("\\end{figure}\n", file = "GraphList.tex", append=TRUE)
 }  

有时它可以工作,但有时不能通过仅将我放入cat零件中的内容写入tex没有图表的文件来实现。

我对此很陌生,有人可以帮我离开这里吗?非常感谢!

更新:

以下代码有效(例如,假设我在列表中只有 2 个图表):

   sink("Output/graph/GraphList.tex", append=TRUE)

   tikz(console = TRUE)
   cat("\\begin{figure}\n")
   graphList[[1]]
   cat(paste0("\\caption{", names(graphList)[[1]],"}",sep=" "))
   cat("\n\\end{figure}\n")

   cat("\n\\begin{figure}\n")
   graphList[[2]]
   cat(paste0("\\caption{", names(graphList)[[2]],"}",sep=" "))
   cat("\n\\end{figure}\n")

   sink()

所以我的疯狂猜测是R不会将循环部分写入文件,对吗?

4

0 回答 0