Description Usage Arguments Details Value Author(s) Examples
View source: R/keywordsStyle.R
registers the symbols of a package or a position in the search list as morekeywords for the TeX-package ‘listings’ language definition of R
1 | lstsetLanguage(pkgs, posIdx, keywordstyles, overwrite = FALSE)
|
pkgs |
character; the packages the symbols of which are to be registered. |
posIdx |
numeric; positions in the |
keywordstyles |
character or missing; the corresponding keywordstyle format
strings; if missing the corresponding option |
overwrite |
logical; before registering the new symbols shall we check
if there already is a registration of this symbol in the original
R language definition for TeX package ‘listings’ of file
‘lstlang3.sty’ provided by Robert Denham; in package
SweaveListingUtils, this information is available in
the non-exported global object |
Arguments pkgs
and posIdx
can be used independently from each other:
If there is an argument pkgs
, after checking whether these packages are
already on the search list, we unite the corresponding search list positions
with those of argument posIdx
(if the latter is given);
the positions corresponding to packages already in the .alreadyDefinedPkgs
vector (see below), are filtered out, however. If argument
pkgs
is missing, by default the whole list of attached packages gained
from .packages()
is taken in the beginning.
For registering the new symbols, we write out a
1 2 3 4 5 | \lstdefinelanguage{R}%
{morekeywords=[<order number>]{ <comma-separated keywordlist> },%
sensitive=true,%
keywordstyle=[<order number>]<keywordstyle as format string>,%
}
|
directive to standard out, where <comma-separated keywordlist>
is
a comma-separated list of the keywords to be registered printed out as
five items per line; we get this list by a corresponding
ls(pos=<position>)
command. If argument overwrite
is FALSE
,
before registration, we filter out the keywords already in the original
‘listings’ R language definition.
<keywordstyle as format string>
may be a string containing
any sequence of TeX formatting commands like
"\\bfseries\\footnotesize"
. Note that backslashes have to be escaped.
To be able to distinguish/manage several keyword format styles on R-side, we
append the name of each package, the symbols of which are registered, to the
(non-exported) vector object .alreadyDefinedPkgs
, which is hidden in the
namespace of this package.
On TeX/‘listings’-side, the different keyword format styles are managed
by the corresponding <order number>
information in the
morekeywords
tag; it is identified with num+2
where num
is the index of the package in the .alreadyDefinedPkgs
vector.
The settings of these format styles may afterwords be overwritten
using changeKeywordstyles
.
For use in an .Rnw
file, the call to lstsetlanguage
should be
wrapped into a corresponding Sweave chunk in the form
1 2 3 | << /chunkname/, results=tex, echo=FALSE>>=
lstsetLanguage( ..... )
@
|
for example
1 2 3 | <<distrRegisterKeywords, results=tex, echo=FALSE>>=
lstsetLanguage("distr", keywordstyles = "\\bfseries\\color{green}")
@
|
invisible()
Peter Ruckdeschel peter.ruckdeschel@uni-oldenburg.de
1 2 3 4 5 6 7 | require(MASS)
lstsetLanguage(pkgs = c("MASS","stats"),
keywordstyles = paste("\\bfseries\\color{",c("blue","red"),"}",
sep="", collapse=""))
### not to be used:
print(SweaveListingUtils:::.alreadyDefinedPkgs)
print(SweaveListingUtils:::.keywordsR)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.