| exams2pdf | R Documentation |
Automatic generation of exams in PDF format.
exams2pdf(file, n = 1L, nsamp = NULL, dir = ".", template = "plain",
inputs = NULL, header = NULL, usepackage = NULL, name = NULL,
control = NULL, encoding = "UTF-8", quiet = TRUE, transform = NULL,
edir = NULL, tdir = NULL, sdir = NULL, texdir = NULL, texengine = "pdflatex",
verbose = FALSE, rds = FALSE, points = NULL, seed = NULL,
attachfile = FALSE, exshuffle = NULL, ...)
make_exams_write_pdf(template = "plain", inputs = NULL,
header = NULL, usepackage = NULL, name = NULL, encoding = "UTF-8",
quiet = TRUE, control = NULL, texdir = NULL, texengine = "pdflatex")
file |
character. A specification of a (list of) exercise files. |
n |
integer. The number of copies to be compiled from |
nsamp |
integer. The number(s) of exercise files sampled from each
list element of |
dir |
character specifying the output directory (default:
current working directory). If only a single PDF file is produced
and no |
template |
character. A specification of a LaTeX template. The package
currently provides |
inputs |
character. Names of files that are needed as inputs during
LaTeX compilation (e.g., style files, headers). Either the full path
must be given or the file needs to be in |
header |
character vector or list. Either a character vector with LaTeX code to include in the header or a named list with further options to be passed to the LaTeX files. |
usepackage |
character. Names of additional LaTeX packages to be included. |
name |
character. A name prefix for resulting exercises, of the same
length as |
control |
A list of control arguments for the appearance of multiple choice results (see details). |
encoding |
character, ignored. The encoding is always assumed to be UTF-8. |
quiet |
logical. Should output be suppressed when calling
|
transform |
function. An optional transform driver passed to
|
edir |
character specifying the path of the directory (along with its
sub-directories) in which the files in |
tdir |
character specifying a temporary directory, by default
this is chosen via |
sdir |
character specifying a directory for storing supplements, by
default this is chosen via |
texdir |
character specifying a directory for running |
texengine |
character. Passed to |
verbose |
logical. Should information on progress of exam generation be reported? |
rds |
logical indicating whether the return list should also be saved as an RDS data file. |
points |
integer. How many points should be assigned to each exercise? Note that this
argument overules any exercise points that are provided within the |
seed |
integer matrix or logical. Either |
attachfile |
logical. Should the LaTeX commands |
exshuffle |
logical or integer. If the |
... |
further arguments passed on to |
exams2pdf is a more flexible re-implementation of the old (version 1)
exams function (Gruen and Zeileis 2009), using the new extensible
xexams framework (Zeileis et al. 2014). A detailed
introduction is provided in vignette("exams", package = "exams"), also
pointing out relative advantages of the new interface.
exams2pdf proceeds by using make_exams_write_pdf to set up a custom
driver$write function on the fly before calling xexams.
This custom driver combines each exams with the desired template
(and inputs etc.) and then calls texi2dvi
on the resulting LaTeX file to produce PDF output.
For a single exam (n = 1) the resulting PDF is displayed on
screen (unless dir is explicitly specified) while for n > 1
the PDF files are stored in the output directory dir.
The argument control is specified by a named list, currently with elements
mchoice.symbol and cloze.collapse. mchoice.symbol
has to be a character vector with elements True and False,
specifying the symbol used for the questionnaire output in the final PDF file.
cloze.collapse specifies the character used for collapsing mchoice/schoice
alternatives within a cloze exercise. By default, these are separated by " / "
but with cloze.collapse = "\\\\" each alternative would be in a new line.
Finally, cloze.collapse = "enumerate" can also be used which employs a nested
enumerate environment. In the latter case, the questionnaire uses exclozechoice
rather than exmchoice (see exam.tex or solution.tex for an
illustration.
exams2pdf returns a list of exams as generated by xexams.
make_exams_write_pdf returns a function that is suitable for being
supplied as driver$write to xexams.
Gruen B, Zeileis A (2009). Automatic Generation of Exams in R. Journal of Statistical Software, 29(10), 1–14. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.18637/jss.v029.i10")}.
Zeileis A, Umlauf N, Leisch F (2014). Flexible Generation of E-Learning Exams in R: Moodle Quizzes, OLAT Assessments, and Beyond. Journal of Statistical Software, 58(1), 1–36. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.18637/jss.v058.i01")}.
xexams,
exams,
texi2dvi
## load package and enforce par(ask = FALSE)
##
## additionally, for simplicity, enforce using the basic
## tools::texi2dvi() LaTeX interface instead of the more
## flexible/robust tinytex::latexmk()
library("exams")
oopt <- options(device.ask.default = FALSE, exams_tex = "tools")
if(interactive()) {
## compile a single random exam (displayed on screen)
exams2pdf(list(
"boxplots.Rmd",
c("tstat.Rmd", "ttest.Rmd", "confint.Rmd"),
c("regression.Rmd", "anova.Rmd"),
"scatterplot.Rmd",
"relfreq.Rmd"
))
}
options(exams_tex = oopt$exams_tex)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.