vignetteEngine {tools} | R Documentation

## Set or Get a Vignette Processing Engine

### Description

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.

### Usage

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

### Arguments

`name` | the name of the engine.
`weave` | a function to convert vignette source files to LaTeX output.
`tangle` | a function to convert vignette source files to R code.
`pattern` | a regular expression pattern for the filenames handled by this engine, or `NULL` for the default pattern.
`package` | the package registering the engine. By default, this is the package calling `vignetteEngine`.
`aspell` | 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`.

### Details

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.

### Value

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

`name` | The name of the engine
`package` | The name of its package
`pattern` | The pattern for vignette input files
`weave` | The weave function
`tangle` | The tangle function

### Author(s)

Duncan Murdoch and Henrik Bengtsson.

### See Also

`Sweave` and the ‘Writing R Extensions’ manual.

### Examples

    str(vignetteEngine("Sweave"))

[Package tools version 3.3.2 Index]