weaveR {relax} | R Documentation

## function to weave a file

### Description

`weaveR` reads a file that is written according to the rules of the `noweb` system and performs a simple kind of weaving. As a result a LaTeX file is generated.

### Usage

    weaveR(in.file,out.file)

### Arguments

`in.file` | name of input file
`out.file` | name of output file; if missing the extension of the input file is turned to `.tex`

### Details

General remarks: A `noweb` file consists of a mixture of text and code chunks. An `@` character (in column 1 of a line) indicates the beginning of a text chunk. `<<name of code chunk>>=` (starting at column 1 of a line) is a header line of a code chunk with a name defined by the text between `<<` and `>>=`. A code chunk is finished by the beginning of hte next text chunk. Within the code chunk you are allowed to use other code chunks by referencing them by name ( for example by: `<<name of code chunk>>` ). In this way you can separate a big job in smaller ones.

Technical remarks: To format small pieces of code in text chunks you have to put them in `[[...]]`-brackets: `text text [[code]] text text`. One occurence of such a code in a text line is assumed to work always. If an error emerges caused by formatting code in a text chunk simplify the line by splitting it. Sometimes you want to use `[[`- or even `<<`-characters in your text. Then it may be necessary to escape them by an `@`-sign and you have to type in: `@<<`, `@[[` and so on.

`weaveR` expands the input by adding some latex macros to typeset code by a typewriter font. Furthermore chunk numbers are appended to code chunk headers. The number of the last code chunk is stored in LaTeX-counter `Rchunkno`. After defining `\newcommand{\chunklabel}[1]{\newcounter{#1}\setcounter{#1}{\value{Rchunkno} } }` and `\newcommand{\chunkref}[1]{\arabic{#1} }` you can label a code chunk by `\chunklabel{xyzname}` and reference it by `\chunkref{xyzname}` .

### Value

a latex file is generated

### Author(s)

Hans Peter Wolf

### References

http://www.eecs.harvard.edu/~nr/noweb/intro.html

### See Also

`tangleR`

### Examples

    ## Not run:
    ## This example cannot be run by examples() but should be work in an interactive R session
      weaveR("testfile.rev","testfile.tex")
      weaveR("testfile.rev")
    ## End(Not run)
    ## The function is currently defined as
    weaveR<-function(in.file,out.file){
      # german documentation of the code:
      # look for file webR.pdf, P. Wolf 050204
      ...
    }

[Package relax version 1.01 Index]