将 R 中的 knitr 表添加到 \pgfplotstableread 语句中

将 R 中的 knitr 表添加到 \pgfplotstableread 语句中

我正在尝试将 R 中的表格放入 pgfplotstable 中进行编辑和打印。

r 代码是

\documentclass{article}
\usepackage{pgfplotstable}
\begin{document}
    \pgfplotstableread[format=inline,row sep=\\,col sep=&,header=false,
    ignore.chars={\ }]{%
     <<echo=FALSE,results='asis'>>=
     temp=rbind(c(rep("",6)),c("",seq(2012,2016,1)),c(rep("",6)))
     print(xtable(temp),include.rownames=F,include.colnames=F,only.content=T,hline.after=NULL)
     @
    }\mytable
\end{document}

输出末尾有空格,如下所示,编译失败并出现错误。末尾的额外空格似乎是 xtable 问题,而不是 knitr 问题,但我不确定在 SO 上问这个问题是否合适,我希望也许还有其他方法可以将信息放入 pgfplotstableread 中,这是我没有想到的。

\documentclass{article}
\usepackage{pgfplotstable}
\begin{document}
    \pgfplotstableread[format=inline,row sep=\\,col sep=&,header=false,
    ignore.chars={\ }]{%
    % latex table generated in R 2.15.1 by xtable 1.7-0 package
    % Thu Nov  1 19:19:18 2012
      &  &  &  &  &  \\ 
       & 2012 & 2013 & 2014 & 2015 & 2016 \\ 
       &  &  &  &  &  \\   

    }\mytable
\end{document}

谢谢

答案1

您可以尝试告诉pgfplotstable它应该从输入表中过滤掉换行符。这不会造成任何困难,因为您不需要它们。

为此,您只需使用 即可ignore chars={\ ,\^^M}。顺便问一下,为什么需要\\^^M是 TeX 简写,表示(并保护)行尾。

相关内容