These functions calculate the width of a character or string as it would appear after being compiled by LaTeX.
getLatexStrWidth(texString, cex = 1, face = 1, engine = getOption("tikzDefaultEngine"), documentDeclaration = getOption("tikzDocumentDeclaration"), packages, verbose = interactive(), diagnose = FALSE) getLatexCharMetrics(charCode, cex = 1, face = 1, engine = getOption("tikzDefaultEngine"), documentDeclaration = getOption("tikzDocumentDeclaration"), packages, verbose = interactive())
texString | An arbitrary string for which the width is to be calculated. May contain LaTeX markup. |
---|---|
cex | a real number that specifies a scaling factor that is to be applied to device output. |
face | an integer in the range |
engine | a string specifying which TeX engine to use. Possible values are 'pdftex', 'xetex' and 'luatex'. See the Unicode section of tikzDevice-package for details. |
documentDeclaration | See the sections "Options That Affect Package Behavior" and "Font Size Calculations" of tikzDevice-package for more details. |
packages | See the section "Options That Affect Package Behavior" of tikzDevice-package. |
verbose | A logical value indicating whether diagnostic messages are
printed when measuring dimensions of strings. Defaults to |
diagnose | pass |
charCode | an integer that corresponds to a symbol in the ASCII
character table under the Type 1 font encoding. All numeric values are
coerced using |
The width of texString
in points.
A numeric vector holding ascent, descent and width. Values should all be nonnegative.
These functions are used internally by the tikz
device for proper
string placement in graphics. Both functions check to see if metrics exist
in a global or temporary dictionary (as defined in
options('tikzMetricsDictionary')
) and if so will pull the metrics
from there. If the dictionary does not exist, then a temporary one is
created for the current R session. Metrics are calculated via system
calls to LaTeX compilers. Querying compilers to calculate metrics is
expensive and so we strongly recommend setting
options('tikzMetricsDictionary') <- '/path/to/dictionary'
to create a
global dictionary.
PGF Manual
getLatexStrWidth('{\\\\tiny Hello \\\\LaTeX!}')#> [1] 75.39825# Calculate ascent, descent and width for "A" getLatexCharMetrics(65)#> [1] 6.88720 0.00000 7.49817