vignetteEngine
Set or Get a Vignette Processing Engine
Description
Sets or gets a vignette engine for non-Sweave vignettes.
Usage
vignetteEngine(name, weave, tangle, pattern = NULL, package = NULL)
Arguments
  
| name | the name of vignette engine to set or get. | 
  | weave | the function to convert the vignette source file to LaTeX format. | 
  | tangle | the function to produce R code from the vignette source file. | 
  | pattern | a regular expression pattern specifying the file names to be processed by 
this engine. If NULL (the default), the default pattern is "[.][rRsS](nw|tex)$". | 
  | package | the package registering the vignette engine.  If NULL (the default), 
the package that calls this function. | 
 
Details
Package vignettes can be processed by means of vignette engines other 
than Sweave.  A package writer can register a vignette 
engine by calling the function vignetteEngine to define customized 
Sweave and Stangle functions.  Spotfire Enterprise Runtime for R uses the 
registered engine to process the package vignettes.
The system uses an engine key to identify each vignette engine. Typcially, the engine key 
is in the format "package::name".
If weave is missing, vignetteEngine returns the current registered vignette engine 
that matches name and package. If weave is NULL, the current 
registered engine is deleted.  For other cases, a new engine is registered.
The system registers at least one engine named "Sweave", which uses 
utils::Sweave() and utils::Stangle().  
This design is for backward compatibility with those 
package vignettes that are processed by Sweave by default.
Value
-  returns a list object with the components "name", "package", 
"pattern", "weave", and "tangle" if called to set 
or get an engine.  
-  returns NULL if an engine is removed.
 
References
2013.  Writing package vignettes. Writing R Extensions.  R Project. Volume 3.01, Chapter 1.4.
See Also
 Sweave
Examples
vignetteEngine()  # List all registered engines.
vignetteEngine("Sweave") # List "Sweave" engine.
# Set a new engine. 
vignetteEngine(name = "My_Sweave", weave = function(...) utils::Sweave(...),
              tangle = function(...) utils::Stangle(...), package = "utils")
## Not run: 
# Set a new engine.  Here "weave" and "tangle" are fake functions and cannot be used 
# for actual package vignette processing.
vignetteEngine("My_engine", weave = function(...){tempfile()}, 
	tangle = function(...){tempfile()}, package = "My_package") 
str(vignetteEngine())
# Delete this engine
vignetteEngine("My_engine", package = "My_package", weave = NULL) 
str(vignetteEngine())	
## End(Not run)