| tikzDevice-package {tikzDevice} | R Documentation |
Support for native LaTeX output of R graphics
Description
The tikzDevice package implements the tikz() ouput device which
generates R graphics in a LaTeX friendly format. LaTeX handles the
typesetting of all text in graphics generated by tikz. This allows for
seamless integration between these graphics and documents that are also being
typeset by LaTeX. Using LaTeX to generate graph text also means that
LaTeX mathematics can be typeset directly into labels and
annotations.
Options That Affect Package Behavior
The tikzDevice package
is currently influenced by a number of global options that may be set in
scripts, from the console or in a .Rprofile file. All of the options
can be set by using options(<option> = <value>). These options
allow for the use of custom documentclass declarations, LaTeX
packages, and typesetting engines (e.g. XeLaTeX or LuaLaTeX). The defaults,
if are any for a given option, are shown below the description. The global
options are:
tikzDefaultEngineSpecifies which typesetting engine functions in the tikzDevice package will prefer. Current possible values are
pdftex,xetexorluatex. Respectively, these values trigger the use of thepdflatex,xelatexandlualatexcompilers.tikzLatexSpecifies the location of the LaTeX compiler to be used by tikzDevice. Setting this option may help the package locate a missing compiler. The default is searched for when the package is loaded, otherwise it can be set manually. This option may be set as follows:
options( tikzLatex = '/path/to/latex/compiler' ).tikzXelatexFunctions similar to
tikzLatex, except this option specifies the location of the XeLaTeX compiler.tikzLualatexFunctions similar to
tikzLatex, except this option specifies the location of the LuaLaTeX compiler.tikzMetricsDictionaryWhen using the graphics device provided by tikzDevice, you may notice that appears to "lag" or "hang" when commands such as
plot()are executed. This is because the device must query the LaTeX compiler for string widths and font metrics. For a normal plot, this may happen dozens or hundreds of times- hence becomes unresponsive for a while. The good news is that thetikz()code is designed to cache the results of these computations so they need only be performed once for each string or character. By default, these values are stored in a temporary cache file which is deleted when is shut down. A location for a permanent cache file may be specified by setting the value oftikzMetricsDictionaryin.Rprofilewithoptions(tikzMetricsDictionary = '/path/to/dictionary/location').tikzDocumentDeclarationA string. The LaTeX
documentclassdeclaration used in output files whenstandAlone == TRUE.tikzDocumentDeclarationalso influences the calculation of font metrics. The default value is:options(tikzDocumentDeclaration = "\\documentclass[10pt]{article}")tikzLatexPackagesA character vector. These are the packages which are included when using the
pdftexengine andtikz()is used with the thestandAloneoption as well as when font metrics are calculated.tikzXelatexPackagesThis option works like
tikzLatexPackages, except is is used when thexetexengine is in use.tikzLualatexPackagesThis option works like
tikzXelatexPackages, except is is used when theluatexengine is in use.tikzFooterA character vector. The footer to be used only when
standAlone==TRUE.tikzMetricPackagesA character vector. These are the packages which are additionally loaded when doing font metric calculations. As you see below, the font encoding is set to Type 1. This is very important so that character codes of LaTeX and match up. The default value is:
options(tikzMetricPackages = c( "\\usepackage[utf8]{inputenc}", "\\usepackage[T1]{fontenc}", "\\usetikzlibrary{calc}" ))tikzUnicodeMetricPackagesThis vector is used when font metric calculations are performed using the
xetexorluatexengines. It should have the same contents astikzMetricPackageswith the addition of thefontspecandxunicodepackages.tikzSanitizeCharactersA character vector of special latex characters to replace. These values should correspond to the replacement values from the
tikzReplacementCharactersoption. SeesanitizeTexString()for more details.tikzReplacementCharactersA character vector of replacements for special latex characters. These values should correspond to the values from the
tikzSanitizeCharactersoption.tikzLwdUnitA numeric that denotes the number of
pts in LaTeX thatlwd=1in R is translated to. Defaults to 0.4 (LaTeX and TikZ default); for compatibility with R default, please use 72.27/96 (96 pixels in R is 1 inch, which is 72.27 points in TeX).tikzPdftexWarnUTFA
TRUE/FALSEvalue that controls whether warnings are printed if Unicode characters are sent to a device using thepdftexengine.tikzSymbolicColorsA logical value indicating whether colors are written as RGB values or as symbolic names in which case the need to be defined in the LaTeX document.
tikzMaxSymbolicColorsan integer number indicating the maximal number of distinct colors to write symbolically. Any excess color will be defined as if
symbolicColorswas set toFALSE.
Default values for all options may be viewed or restored using the
setTikzDefaults() function.
Author(s)
See packageDescription("tikzDevice").
Submit bug reports to: https://github.com/daqana/tikzDevice/issues
References
The TikZ and PGF Packages: Manual for version 2.00
https://sourceforge.net/projects/pgf
Till Tantau, February 20, 2008