我正在使用R中的convert包尝试将数据帧转换为报告。问题是输入数据中有很大的可变性。其目的是打印一行文本(从数据帧中提取,然后是图形,也是从数据帧中提取)
下面的代码是相同代码的精简版本。它不能输出一个PDF文件。
\documentclass{report}
\usepackage{forloop}
\newcounter{tmp}
\begin{document}
\newcommand{\Brep}{$\Sexpr{A}$}
\forloop{tmp}{1}{\value{tmp} < \Brep} {\Brep}
\end{document}在检查日志和删除部分时,我已经将范围缩小到在forloop的条件下无法计算\FBrep部分。
有什么办法可以绕过这个问题吗?另外,在下一步中,我将需要以类似的方式使用in图形,如下所示
\includegraphics{\Brep.PNG}如果这是RTFM材料,很抱歉。我真的是新来的,我确实看了很多。谢谢
发布于 2013-02-04 13:49:23
您不能让LaTeX调用knitr或R。knitr所做的是解析文档中的R代码,并对代码进行评估。然后一切都在R端完成,您将得到一个与R无关的静态LaTeX输出文档。所以如果你想写什么,用R代码就行了。
将你的程序直接翻译成R:
\documentclass{report}
\begin{document}
<<results='asis', echo=FALSE>>=
for (tmp in 1:A) {
cat(tmp)
}
@
<<results='asis', echo=FALSE>>=
for (tmp in 1:A) {
cat(sprintf('\\includegraphics{%d.PNG}', tmp))
}
@
\end{document}但它可以简化为:
\documentclass{report}
\begin{document}
\Sexpr{paste(1:A, collapse = '')}
\Sexpr{paste(sprintf('\\includegraphics{%d.PNG}', 1:A), collapse = '')}
\end{document}我还需要提醒您,这可能不是在文档中插入绘图的理想方法(通常您不需要注意\includegraphics{})。你需要意识到像这样的自动化:
\documentclass{report}
\begin{document}
<<>>=
for (i in 1:5) {
hist(mtcars[, i])
}
@
\end{document}https://stackoverflow.com/questions/14680742
复制相似问题