vignetteEngine: Set or Get a Vignette Processing Engine

Description Usage Arguments Details Value Author(s) See Also Examples


Vignettes are normally processed by Sweave, but package writers may choose to use a different engine (e.g., one provided by the knitr, noweb or R.rsp packages). This function is used by those packages to register their engines, and internally by R to retrieve them.


vignetteEngine(name, weave, tangle, pattern = NULL,
	       package = NULL, aspell = list())



the name of the engine.


a function to convert vignette source files to PDF/HTML or intermediate LaTeX output.


a function to convert vignette source files to R code.


a regular expression pattern for the filenames handled by this engine, or NULL for the default pattern.


the package registering the engine. By default, this is the package calling vignetteEngine.


a list with element names filter and/or control giving the respective arguments to be used when spell checking the text in the vignette source file with aspell.


If weave is missing, vignetteEngine will return the currently registered engine matching name and package.

If weave is NULL, the specified engine will be deleted.

Other settings define a new engine. The weave and tangle functions must be defined with argument lists compatible with function(file, ...). Currently the ... arguments may include logical argument quiet and character argument encoding; others may be added in future. These are described in the documentation for Sweave and Stangle.

The weave and tangle functions should return the filename of the output file that has been produced. Currently the weave function, when operating on a file named ‘<name> <pattern>’ must produce a file named ‘<name>[.](tex|pdf|html)’. The ‘.tex’ files will be processed by pdflatex to produce ‘.pdf’ output for display to the user; the others will be displayed as produced. The tangle function must produce a file named ‘<name>[.][rRsS]’ containing the executable R code from the vignette. The tangle function may support a split = TRUE argument, and then it should produce files named ‘<name>.*[.][rRsS]’.

The pattern argument gives a regular expression to match the extensions of files which are to be processed as vignette input files. If set to NULL, the default pattern "[.][RrSs](nw|tex)$" is used.


If the engine is being deleted, NULL. Otherwise a list containing components


The name of the engine


The name of its package


The pattern for vignette input files


The weave function


The tangle function


Duncan Murdoch and Henrik Bengtsson.

See Also

Sweave and the ‘Writing R Extensions’ manual.



Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.