| changeKeywordstyles {SweaveListingUtils} | R Documentation |
sets up / updates a table of keywordstyles to different packages
changeKeywordstyles(pkgs, keywordstyles)
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 usinggetSweaveListingOption("Keywordstyle").Internally, it is being cast to the same length as pkgs by
rep(keywordstyles, length.out = length(pkgs)).
|
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=[<order number>]<keywordstyle as format string>,%
}
directive to standard out, where <keywordstyle as format string>
is a string containing any sequence of TeX formatting commands like
"\\bfseries\\footnotesize". Note that backslashes have to be escaped.
and <order number> 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
<<distrRegisterKeywords, results=tex, echo=FALSE>>=
changeKeywordstyles(pkgs = "distr",
keywordstyles = "\\bfseries\\color{blue}")
@
invisible()
Peter Ruckdeschel Peter.Ruckdeschel@itwm.fraunhofer.de
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 = ""))