This is a LaTeX question. I'll be surprised if \caption{} allows arbitrary LaTeX environments inside it.
Perhaps it is irrelevant, but you can make it more compact with the fig.cap option in knitr; see an example at https://github.com/yihui/knitr-examples/blob/master/019-fig-caption.Rnw \documentclass{article} \begin{document} Knitr can automatically generate a figure environment if fig.cap is specified. <<test, fig.cap=paste('$2 \\times 2$ is', 2*2), fig.height=3>>= par(mar=c(4, 4, .1, .1)); plot(runif(4)) @ When fig.cap needs to use objects in the current chunk, we need to set the eval.after options so the objects are available when fig.cap is used. <<setup>>= # evaluate fig.cap after a chunk is evaluated opts_knit$set(eval.after = 'fig.cap') @ Dynamically generate a figure caption: <<t-test, fig.cap=paste('The P-value is', format.pval(t.test(x)$p.value))>>= x = rnorm(30) hist(x) @ \end{document} Regards, Yihui -- Yihui Xie <xieyi...@gmail.com> Phone: 515-294-2465 Web: http://yihui.name Department of Statistics, Iowa State University 2215 Snedecor Hall, Ames, IA On Tue, Aug 21, 2012 at 2:03 PM, Alexander Shenkin <ashen...@ufl.edu> wrote: > Hi Folks, > > I'm surprised, but I didn't find this question addressed anywhere. I'd > like to generate a LaTeX caption with R code. I've tried the code > below, but I get the following TeX error: > > ! Argument of \@caption has an extra }. > <inserted text> > \par > l.21 } > > Any thoughts? Perhaps I'll have to write the "\caption{}" text with R? > > thanks! > > > Sweave document: > > \documentclass{article} > \title {test} > \author {me} > \usepackage{Sweave} > \begin {document} > \maketitle > \DeclareGraphicsExtensions{.pdf,.png} > > \begin {figure} > <<label=fig1, echo=FALSE, fig=TRUE, pdf=false, png=true>>= > plot(runif(100), runif(100)) > @ > \caption { > This is the caption with some r-code > <<>>= > 2*2 > @ > } > \label {fig:1} > \end {figure} > > \end{document} > > > TeX document: > > \documentclass{article} > \title {test} > \author {me} > \usepackage{Sweave} > \begin {document} > \maketitle > \DeclareGraphicsExtensions{.pdf,.png} > \begin {figure} > \includegraphics{test-fig1} > \caption { > This is the caption with some r-code > \begin{Schunk} > \begin{Sinput} > > 2*2 > \end{Sinput} > \begin{Soutput} > [1] 4 > \end{Soutput} > \end{Schunk} > } > \label {fig:1} > \end {figure} > \end{document} ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.