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:
tikzDefaultEngine
Specifies which typesetting engine functions in the tikzDevice package will prefer. Current possible values are
pdftex
,xetex
orluatex
. Respectively, these values trigger the use of thepdflatex
,xelatex
andlualatex
compilers.tikzLatex
Specifies 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' )
.tikzXelatex
Functions similar to
tikzLatex
, except this option specifies the location of the XeLaTeX compiler.tikzLualatex
Functions similar to
tikzLatex
, except this option specifies the location of the LuaLaTeX compiler.tikzMetricsDictionary
When 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 oftikzMetricsDictionary
in.Rprofile
withoptions(tikzMetricsDictionary = '/path/to/dictionary/location')
.tikzDocumentDeclaration
A string. The LaTeX
documentclass
declaration used in output files whenstandAlone == TRUE
.tikzDocumentDeclaration
also influences the calculation of font metrics. The default value is:options(tikzDocumentDeclaration = "\\documentclass[10pt]{article}")
tikzLatexPackages
A character vector. These are the packages which are included when using the
pdftex
engine andtikz()
is used with the thestandAlone
option as well as when font metrics are calculated.tikzXelatexPackages
This option works like
tikzLatexPackages
, except is is used when thexetex
engine is in use.tikzLualatexPackages
This option works like
tikzXelatexPackages
, except is is used when theluatex
engine is in use.tikzFooter
A character vector. The footer to be used only when
standAlone==TRUE
.tikzMetricPackages
A 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}" ))
tikzUnicodeMetricPackages
This vector is used when font metric calculations are performed using the
xetex
orluatex
engines. It should have the same contents astikzMetricPackages
with the addition of thefontspec
andxunicode
packages.tikzSanitizeCharacters
A character vector of special latex characters to replace. These values should correspond to the replacement values from the
tikzReplacementCharacters
option. SeesanitizeTexString()
for more details.tikzReplacementCharacters
A character vector of replacements for special latex characters. These values should correspond to the values from the
tikzSanitizeCharacters
option.tikzLwdUnit
A numeric that denotes the number of
pt
s in LaTeX thatlwd=1
in 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).tikzPdftexWarnUTF
A
TRUE/FALSE
value that controls whether warnings are printed if Unicode characters are sent to a device using thepdftex
engine.tikzSymbolicColors
A 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.
tikzMaxSymbolicColors
an integer number indicating the maximal number of distinct colors to write symbolically. Any excess color will be defined as if
symbolicColors
was 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