(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
added exciting new features to the device. The most important addition
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
The full changelog is appended to this email. For a detailed diff of
changes since 0.5.3, see:
With 80 commits, it is likely we introduced some exciting new bugs.
Bug reports are welcomed at the GitHub issue tracker:
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.
### Version: 0.6.1
#### Bug Fixes
- Fixed a bug where `tikz` was not applying background color to the plot
- Fixed a Vignette bug caused by an incorrect merge that was breaking the CRAN
### 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
- 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
- Package test suite completely overhauled and now based on Hadley Wickham’s
`test_that` unit testing framework.