通过Sexpr包含tikz命令

时间:2016-12-31 19:55:44

标签: r latex sweave tikz

我想使用tikz在Sweave创建的自动报告中实现基本图形。因此,我创建了一个R函数,根据数据返回tikz命令。我的代码看起来与此类似:

<<echo=FALSE>>=
y <- 20
code <- cat(paste("\\draw (0pt, ",y,"pt) circle (5pt)", sep=""))
@
\begin{tikzpicture}
\Sexpr{code}
\end{tikzpicture}

哪个不起作用......我得到的是字符串而不是图纸。

1 个答案:

答案 0 :(得分:0)

不要使用\Sexpr,只需将块放在tikzpicture环境中,然后添加块选项results=tex即可。例如,

\begin{tikzpicture}
<<echo=FALSE, results=tex>>=
y <- 20
cat(paste0("\\draw (0pt, ",y,"pt) circle (5pt)", sep=""))
@
\end{tikzpicture}

这尚未经过测试,因此您可能需要稍微调整一下。