[R] Adding LaTeX cross-references into Sweave plots

Peter Dunn dunn at usq.edu.au
Wed Feb 27 02:06:19 CET 2008


Hi all

I'm using Sweave and LaTeX, and love how they interact.

But here's a different interaction I'm not sure how to achieve; I 
hope someone can help.  I use a simple example, of course, to 
demonstrate.

Suppose in my LaTeX document I have this:

	Here is a linear equation:
	\begin{equation}
		y = -1 + 3 x
		\label{EQ:example}
	\end{equation}

This appears in the final product with an Equation number, say (1).

Now suppose I wish to produce a graphic in R:

	<<fig=TRUE>>=
	plot( c(-1,1), c(-1,1), type="n", 
		main="Graph of Eq (1)")
	abline(-1, 3)
	@

All easy.

But... how to I ensure the correct LaTeX label appears in the plot?  
You see, if I run LaTeX again, and my equation is no longer 
labelled (1) and changes to (say) label (3), I have to manually fix 
the Sweave code to read

	<<fig=TRUE>>=
	plot( c(-1,1), c(-1,1), type="n", 
		main="Graph of Eq (3)")
	abline(-1, 3)
	@

Any ideas of how that can be automated?  I guess something like this 
(though this obviously will fail):


	<<fig=TRUE>>=
	plot( c(-1,1), c(-1,1), type="n", 
		main="Graph of Eq (\label{EQ:equation})")
	abline(-1, 3)
	@

Thanks as always.

P.

-- 
Dr Peter Dunn  |  dunn <at> usq.edu.au
Faculty of Sciences, USQ; http://www.sci.usq.edu.au/staff/dunn
Aust. Centre for Sustainable Catchments: www.usq.edu.au/acsc

This email (including any attached files) is confidentia...{{dropped:15}}



More information about the R-help mailing list