# Exporting R graphics as LaTeX code – version 0.6.1 of the tikzDevice package is out

April 17, 2011
By

(Guest post on R-bloggers by Charlie Sharpsteen)

Cameron and I are pleased to announce version 0.6.0 of the tikzDevice
package which should be available shortly at your local CRAN mirror!
The tikzDevice makes it possible to export R graphics as LaTeX code
that can be included in other documents or compiled into stand alone
figures. The full power of LaTeX is available for typesetting text and
mathematical expressions inside figures produced using the tikzDevice.

Over 80 commits have occurred since the release of 0.5.3 which have
is 0.6.0 is that the XeLaTeX compiler is officially supported.
Compared to the PdfTeX engine, XeTeX has native support for Unicode
which we hope will make the package more useful for producing graphics
that contain text in languages outside the ASCII symbol table. 0.6.0
also provides support for including raster imagry in graphics and
polypath drawing which catches the tikz() graphics device up with
recent developments in the R graphics engine.

There have also been some significant changes under the hood. Our
package has migrated to using Roxygen for function documentation—a
move that was greatly facilitated by the Rd2roxygen package written by
Yihui Xie and Hadley Wickham. Our homebrewed testsuite has also been
re-written on top of Hadley’s excellent test_that package.  Many
thanks to the R community for writing great tools to support package
development!

The full changelog is appended to this email. For a detailed diff of
changes since 0.5.3, see:
https://github.com/Sharpie/RTikZDevice/compare/0.5.3…master

With 80 commits, it is likely we introduced some exciting new bugs.
Bug reports are welcomed at the GitHub issue tracker:

https://github.com/Sharpie/RTikZDevice/issues

The tikzDevice also has a mailing list provided by R-Forge:

tikzdevice-bugs @at@ lists.r-forge.r-project.org

Which is also accessible via Google Groups:

A rough roadmap for future package development can be found at:

Commentary and discussion is welcomed in the mailing list, patches
containing bugfixes or features are welcomed on the issue tracker.

-Charlie

### Version: 0.6.1
Released: 4-14-2011

#### Bug Fixes
- Fixed a bug where tikz was not applying background color to the plot
canvas.
- Fixed a Vignette bug caused by an incorrect merge that was breaking the CRAN
build.

### Version: 0.6.0

#### New Features
- Unicode Support!!!! XeLaTeX may now be used calculate metrics and widths for
Unicode characters. PdfLaTeX remains the default LaTeX compiler, but this may
be changed by setting the global option tikzDefaultEngine to xetex.

- New global option tikzXelatexPackages which contains packages necessary to
use unicode characters with xelatex.  Specifically, the fontspec and the
xunicode packages as well as the xetex option to the preview package.

- New global option tikzUnicodeMetricPackages which contains the packages
necessary to calculate metrics for multibyte unicode characters with xelatex.

- New function anyMultibyteUTF8Characters() which will check if the given
string contains any multibyte unicode characters.  Exposed in the package
namespace since it is general and may be useful in other applications.

- The TikZ device now fully supports the Raster graphics primitive that was
added in R 2.11.0 and no longer throws “not implemented” warnings when this
functionality is used. This is accompilshed by writing raster images to PNG
files, Rplots_ras#.png, which are then included in the main TeX file
Rplots.tex.

- The TikZ device now fully supports the polypath graphics primitive that was
added in R 2.12.0 and no longer throws “not implemented” warnings when this
functionality is used.

#### Bug Fixes

- Fixed a bug where the lwd parameter used to control line widths was
declared by tikzDevice to be of type int when it is actually a double.
This was causing line widths to be ignored or miscalculated. Many thanks to
Baptiste Auguie for reporting this issue.

#### Depreciation Notices

- Versions of R < 2.11.0 are no longer supported due to lack of required
functions for handling Unicode strings.

#### Behind the Scenes

- New Makefile for executing common development tasks.

- Package documentation now handled by roxygen.  Many thanks to Hadley
Wickham and Yihui Xie for the Rd2roxygen package which facilitated this
switch.

- Package test suite completely overhauled and now based on Hadley Wickham’s
test_that unit testing framework.