\HeaderA{demo}{Demonstrations of R Functionality}{demo}
\keyword{documentation}{demo}
\keyword{utilities}{demo}
\begin{Description}\relax
\code{demo} is a user-friendly interface to running some demonstration
\R{} scripts.  \code{demo()} gives the list of available topics.
\end{Description}
\begin{Usage}
\begin{verbatim}
demo(topic, device = getOption("device"),
     package = NULL, lib.loc = NULL,
     character.only = FALSE, verbose = getOption("verbose"))
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{topic}] the topic which should be demonstrated, given as a
\LinkA{name}{name} or literal character string, or a character string,
depending on whether \code{character.only} is \code{FALSE} (default)
or \code{TRUE}.  If omitted, the list of available topics is
displayed.
\item[\code{device}] the graphics device to be used.
\item[\code{package}] a character vector giving the packages to look into for
demos, or \code{NULL}.  By default, all packages in the search path
are used.
\item[\code{lib.loc}] a character vector of directory names of \R{} libraries,
or \code{NULL}.  The default value of \code{NULL} corresponds to all
libraries currently known.  If the default is used, the loaded
packages are searched before the libraries.
\item[\code{character.only}] logical; if \code{TRUE}, use \code{topic} as
character string.
\item[\code{verbose}] a logical.  If \code{TRUE}, additional diagnostics are
printed.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
If no topics are given, \code{demo} lists the available demos.  The
corresponding information is returned in an object of class
\code{"packageIQR"}.  The structure of this class is experimental.  In
earlier versions of R, an empty character vector was returned along
with listing available demos.
\end{Details}
\begin{SeeAlso}\relax
\code{\LinkA{source}{source}} which is called by \code{demo}.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
demo() # for attached packages

## All available demos:
demo(package = .packages(all.available = TRUE))

demo(lm.glm, package="stats")
## Not run: 
 ch <- "scoping"
 demo(ch, character = TRUE)
## End(Not run)\end{ExampleCode}
\end{Examples}

