Nothing
A chunk hook has three arguments: before
, options
and envir
. We show how they work through some simple examples.
before
argumentIt is a logical argument: before == TRUE
executes code before a chunk.
library(knitr) knit_hooks$set(foo1 = function(before, options, envir) { if (before) { '_I appear before a chunk!_\n\n' } else { '\n\n_I am after a chunk..._' } })
Test the foo1
hook:
1+1
options
argumentIt contains all the chunk options (include global options) for the current chunk.
knit_hooks$set(foo2 = function(before, options, envir) { if (!before) { z = capture.output(str(options[c('eval', 'dev', 'results', 'bar1', 'bar2', 'bar3')])) z = paste(' ', z, sep = '', collapse = '\n') paste('Some chunk options in the above chunk are:\n\n', z, sep = '') } })
Test the foo2
hook:
1+1
envir
argumentIt is the environment of the current chunk.
knit_hooks$set(foo3 = function(before, options, envir) { if (!before) { paste('Objects available in the above chunk:', paste('`', ls(envir), '`', sep = '', collapse = ', ')) } })
Test the foo3
hook:
x2=1+1; y3=rnorm(10)
Another example:
knit_hooks$set(foo4 = function(before, options, envir) { if (!before && exists('z5', envir = envir)) { sprintf('**Ha! I see z5 = %.3f!**', envir$z5) } })
Test foo4
:
pi
This above chunk is quiet because z5
does not exist yet.
z5=2*pi
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.