Tag Archives: R

Automated way to check for PGF version

This is one way to check for the version of PGF that is installed in an automated way. First create a tex file with the following contents:


Say you named it test-pgf-version.tex. Then:

pdflatex test-pgf-version.tex
cat test-pgf-verson.log | grep PGFVersion | sed ‘s/PGFVersion=//’

should display the version number. I happen to need to do this from R so using similar logic:

logFile <- ‘testpgfversion.log‘    
logContents <- readLines( logFile )
match <- logContents[ grep(‘PGFVersion=‘, logContents) ]
version <- gsub([=AZaz]‘,”,match)

which accomplishes the same task as the second line above.

pgfSweave now on CRAN

At long last pgfSweave has finally made its way to CRAN.


The pgfSweave R package is about speed and style of graphics. For speed, the package provides capabilities for “caching” graphics generated with Sweave on top of the caching funcitonality of cacheSweave. For style the pgfSweave package facilitates the integration of R graphics with LaTeX reports through the tikzDevice package and eps2pgf utility. With these tools, figure labels are converted to LaTeX strings so they match the style of the document and the full range of LaTeX math symbols/equations are available.

The backbone of pgfSweave is a a new driver for Sweave (pgfSweaveDriver). The driver provides new chunk options tikz, pgf and external on top of the cache option provided by cacheSweave.

This package started as a fork (hack) of cacheSweave to suit our own narrow purposes and has since become a valuable tool for much of our own work. We hope you will find it useful as well.

-Cameron Bracken and Charlie Sharpsteen

swfDevice: Help Wanted (Windows Build) and Outlook

swfDevice is an R package I am developing that produces swf (flash) files natively from R.

If anyone can step up and help get a working windows build up and running that would be great! I have little expertise with windows and I am just about stuck as what to do next. The task involved linking to some precompiled dlls and such since ming depends on libpng, zlib, libungig and freetype. If you would like to help, send me an email (cameron.bracken [at] gmail.com).

Todo before initial CRAN release:

  • Working windows build that does not crash when any operation is performed
  • option to wrap swf output in HTML

Todo in the future (possibly before initial release but probably not):

Device features

  • xCharOffset yCharOffset
  • yLineBias
  • ipr: pixels per inch
  • cra: default character size in pixels
  • canClip: will be much harder than tikzDevice
  • canChangeGamma
  • canHAdj: not supported
  • startps: ditto
  • hasTextUTF8: should be possible with ming
  • wantSymbolUTF8: ditto

Implement remaining graphics parameters

  • gamma
  • lend
  • ljoin
  • lmitre
  • lineheight

Graphics primitives

  • metricInfo (is currently returning the same metrics for all characters, this is bad but does not severely affect the text placement)
  • textUTF8
  • strWidthUTF8