SweaveListingUtils (version 0.7.5)

changeKeywordstyles: changeKeywordstyles

Description

sets up / updates a table of keywordstyles to different packages

Usage

changeKeywordstyles(pkgs, keywordstyles)

Arguments

pkgs
character; the packages for which keywordstyle information is to be changed
keywordstyles
character or missing; the corresponding keywordstyle format strings; if missing the corresponding option Keywordstyle is read off by using getSweaveListingOption("Keywordstyle"). Internally, it is being cast to the same length as pkgs by rep(keywordstyles, length.out = length(pkgs)).

Value

invisible()

Details

Before changing the keywordstyles, we first check whether the corresponding package is registered at all ---by looking up the (non-exported) vector object .alreadyDefinedPkgs, which is hidden in the namespace of this package.

For changing the keywordstyle, we write out a

 \lstdefinelanguage{R}%
     {keywordstyle=[],%
      }
directive to standard out, where is a string containing any sequence of TeX formatting commands like "\\bfseries\\footnotesize". Note that backslashes have to be escaped. and is just num+2 where num is the index of the package in the .alreadyDefinedPkgs vector.

For use in an .Rnw file, the call to lstsetlanguage should be wrapped into a corresponding Sweave chunk in the form

<< /chunkname/, results=tex, echo=FALSE>>=
changeKeywordstyles( ..... )
@
for example
<>=
changeKeywordstyles(pkgs = "distr",
                    keywordstyles = "\\bfseries\\color{blue}")
@

See Also

lstsetLanguage

Examples

Run this code
require(MASS)

lstsetLanguage(pkgs = c("MASS","stats"),
               keywordstyles  = paste("\\bfseries\\color{",c("blue","red"),"}",
                         sep="", collapse=""))
changeKeywordstyles(pkgs = c("distr","distrEx"),
                    keywordstyles = paste("\\bfseries\\color{",c("green","blue"),"}",
                    collapse="", sep = ""))

Run the code above in your browser using DataCamp Workspace