# There is a new version of pgfSweave, and its awesome!

I just uploaded version 1.2.1 of pgfSweave, and I think it is just great! The most notable new feature is the use of the TikZ externalization library `list and make` feature instead of the pgf `\begingraphicnamed` functionality. This has some important consequences:

1. PGF 2.10 is required! This has been out for some months now but many LaTeX distros are notoriously slow at updating, so you may need to update manually.
2. Backward compatibility may break with some documents who still have the `\pgfrealjobname` hardcoded or who use the `tex.driver` option.
3. A new workflow is required to compile documents (it includes make), this is outlined in the vignette.
4. You can use all the nifty features in the TikZ externalization library, see the TikZ/PGF manual for more details.
5. Most importantly it is faster!

There are a boat load of other changes and new features, I think you like it, check them out:

``` ————————– Version 1.2.1 – 2011-04-03 ————————– * [NEW] If PGF 2.10 is not available, issue a startup message but still         load the package (So the package can go on CRAN). PGF 2.10         is still required to compile .tex file produced with pgfSweave * [NEW] Remove null device code which could cause problems with grid         graphics * [NEW] Example using xelatex for external graphics * [NEW] Chunk options `relwidth’ and `relheight’ for scaling figures         relative to the `width’ and `height’ options (thanks to Fabrice         Rossi for the patch) * [CHANGED] Fix the internal caching of external graphics, it now works as         expected and can save significant time ————————– Version 1.2.0 – 2011-02-21 ————————– * [NEW] Use the tikz externalization library instead of the pgf backend.         This allows for more flexibility and faster compilations but         BEWARE, this requires at least pgf 2.10 and may break backward         computability in some cases * [NEW] GNU Make is now a system requirement for externalizing graphics,         NOT for compiling the package * [NEW] Option to specify number of processors when externalizing graphics * [NEW] Externalized graphics now have another layer of crude caching * [NEW] Highlighted output is now output in a separate environment to fix         the centering issues * [NEW] Example document using plain latex and the tikz external library         to generate eps graphics,         `inst/example/pgfSweave-latex-example.Rnw` * [CHANGED] The command line interface is now much simpler internally         and uses optparse instead of getopt for more flexibility (the         optparse package is now a dependency) * [CHANGED] The `tex.driver’ option has been removed, the same effect can         be achieved using the tikz externalization library, see the new         example for how * [DEPRECIATED] The `pgf’ option is depreciated, please use the `tikz’         option ```

## 4 thoughts on “There is a new version of pgfSweave, and its awesome!”

1. Why do we need the relwidth/relheight options since we can directly specify width/height?

2. cameron says:

One very specific use that this feature was created for (there may be others) was for code chunks that are reused in a both an article and in a beamer document. That way the writer can re-use chunks with the `rel{height,width}` options and only change the `width` and `height` in `\SweaveOpts{}`.

3. Having mondo problems getting pgfSweave to run in LyX on Ubuntu 10.04.

http://stackoverflow.com/questions/7354222/sweave-lyx-fig-t-in-sweave

Removed Ubuntu’s texlive-full because apparently that doesn’t work

Upgraded to a newer version of LyX (2.0.1) than currently supported in Ubuntu

Still getting really cryptic errors in LyX:

``` An error occurred while running: Rscript ‘/home/mars/.lyx/scripts/lyx-sweave-exec.R’ ‘UTF-8’ ‘pgfSweave’ "/home/mars/" "/tmp/lyx_tmpdir.T1663/lyx_tmpbuf2/" "test.sweave.lyx.Rnw" > "test.sweave.Rnw".log 2>&1 ```

Not that I expect your help — I’m just leaving this info here as a warning to others who might be trying to embark on the Sweave journey to “time savings”.

4. cameron says:

Sorry but I will be of no help here, I have never actually tried to use LyX with pgfSweave.

Your best bet would be to ask Yihui (he has commented above) as he got the two hooked up in the first place.