| hook_pdfcrop | R Documentation |
Hook functions are called when the corresponding chunk options are not
NULL to do additional jobs beside the R code in chunks. This package
provides a few useful hooks, which can also serve as examples of how to
define chunk hooks in knitr.
hook_pdfcrop(before, ...)
hook_optipng(...)
hook_pngquant(...)
hook_mogrify(...)
hook_plot_custom(before, options, envir)
hook_purl(before, options, ...)
before, options, envir, ... |
See References below. |
The function hook_pdfcrop() calls plot_crop() to crop
the white margins of PDF plots.
The function hook_optipng() calls the program optipng to
optimize PNG images. Note the chunk option optipng can be used to
provide additional parameters to the program optipng, e.g.
optipng = '-o7'.
The function hook_pngquant() calls the program pngquant to
optimize PNG images. Note the chunk option pngquant can be used to
provide additional parameters to the program pngquant, e.g.
pngquant = '--speed=1 --quality=0-50'.
The function hook_mogrify() calls the program mogrify. Note
the chunk option mogrify can be used to provide additional parameters
to the program mogrify (with default -trim to trim PNG
files).
When the plots are not recordable via grDevices::recordPlot()
and we save the plots to files manually via other functions (e.g. rgl
plots), we can use the chunk hook hook_plot_custom to help write code
for graphics output into the output document.
The hook hook_purl() can be used to write the code chunks to an R
script. It is an alternative approach to purl, and can be more
reliable when the code chunks depend on the execution of them (e.g.
read_chunk(), or opts_chunk$set(eval = FALSE)).
To enable this hook, it is recommended to associate it with the chunk option
purl, i.e. knit_hooks$set(purl = hook_purl). When this hook is
enabled, an R script will be written while the input document is being
knit. Currently the code chunks that are not R code or have the
chunk option purl=FALSE are ignored. Please note when the cache is
turned on (the chunk option cache = TRUE), no chunk hooks will be
executed, hence hook_purl() will not work, either. To solve this
problem, we need cache = 2 instead of TRUE (see
https://yihui.org/knitr/demo/cache/ for the meaning of cache =
2).
The two hook functions hook_rgl() and hook_webgl() were
moved from knitr to the rgl package (>= v0.95.1247) after
knitr v1.10.5, and you can library(rgl) to get them.
https://yihui.org/knitr/hooks/#chunk-hooks
rgl::rgl.snapshot,
rgl::rgl.postscript,
rgl::hook_rgl,
rgl::hook_webgl
if (require("rgl") && exists("hook_rgl")) knit_hooks$set(rgl = hook_rgl)
# then in code chunks, use the option rgl=TRUE
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.