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)

Package tools version 6.1.5-18
Package Index