2016-12-31 16 views
0

Я хочу использовать tikz для реализации базовой графики в автоматическом отчете, создаваемом Sweave. Поэтому я создал функцию R, возвращая команду tikz, основываясь на данных. Мой код выглядит примерно так:включают команды tikz через Sexpr

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

Что не работает ... Я получаю строку вместо рисунка.

ответ

0

Не используйте \Sexpr, просто поместите кусок в среду tikzpicture и добавьте опцию куска results=tex. Например,

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

Это не проверено, поэтому вам может потребоваться немного подправить его.