Generates .rps file, and .rmd files for empty ps , sample solution and output solution
  sol.file, = NULL, = "ENTER A USER NAME HERE", = "Jane Doe",
  dir = getwd(),
  header = "",
  footer = "",
  libs = NULL,
  stop.when.finished = FALSE,
  extra.code.file = NULL,
  var.txt.file = NULL,
  rps.has.sol = TRUE,
  fragment.only = TRUE, = FALSE,
  add.shiny = TRUE,
  make.rmd = TRUE,
  addons = NULL, = FALSE,
  wl = rtutor.default.whitelist(),
  use.memoise = FALSE,
  memoise.funs = rtutor.default.memoise.funs(),
  precomp = FALSE,
  preknit = FALSE,
  force.noeval = FALSE, = TRUE,
  table.max.rows = 25,
  round.digits = 8,
  signif.digits = 8,
  knit.print.opts = make.knit.print.opts( =,
    table.max.rows = table.max.rows, round.digits = round.digits, signif.digits =
  knitr.opts.chunk = list(dev = "svg"),
  e.points = 1,
  min.chunk.points = 0,
  chunk.points = 0, = TRUE, = FALSE,
  empty.task.txt = "# Enter your code here.",
  placeholder = "___",
  short.first.chunk = TRUE,
  stop.if.visual.mode.garbling = TRUE,
  bolden.part.counters = FALSE



file name of the _sol.rmd file that specifies the problem set

the name of the problem set

can pick a default (will typically not be set)

the set in the sample solution


the directory in which all files are found and wil be saved to


character vector with names of libraries that will be used by the problem set


the name of an r file that contains own functions that will be accessible in the problme set


name of the file that contains variable descriptions (see thee vignette for an explanation of the file format)


shall the sample solution be stored in the .rps file. Set this option to FALSE if you use problem sets in courses and don't want to assess students the sample solution easily


shall we compile the ps so that it can be shown as a web-based shiny app. Default is TRUE. Set FALSE if not needed to speed up compilation


Shall a Rmd problem set file and sample solution file be generated. Default is TRUE You can set to FALSE if you only want a shiny version to slightly speed up compilation and avoid file clutter.


shall functions like read.csv be memoised? Data sets then only have to be loaded once. This can make problem sets run faster. Debugging may be more complicated, however.


character vector of function names that will be memoised when use.memoise = TRUE. By default a list of functions that load data from a file.


shall chunk environments be computed from sample solution when problem set is generated? Default = FALSE


shall sample solution of chunks be knitted when problem set is generated. Default = FALSE


shall problem set only be shown in noeval mode? (Used as a security against accidentially forgetting to set noeval=TRUE in, when showing the problem set in a web app.)

shall data frames in shiny-based problem set be shown as html? Default is TRUE.


How many rows of a printed data frame shall be shown? Default is 25.


Digits for rounding of shown data frames.


Significant digits for shown data frames.


A list of global knitr chunk options for shiny problem set, see By default list(dev="svg"). Has the same effect as if you would call knitr::opts_chunk with those options before you call


how many points does the user get per required expression in a chunk (expressions in a task do not count). Default=1


minimal points for checking a chunk even if no none-task expression has to be entered. By default=0.5. I feel there may be a higher motivation to continue a problem set if there are may be some free point chunks farther below. Also it feels nice to get points, even if it is just for pressing the check button.


you may also specify fixed points given for solving a chunk that will be added to the points per expression. Default=0

if TRUE (default) the original code with placeholders of a fill in block will be shown in the output solution Rmd file as a comment before the solution. If FALSE only the solution will be shown.

shall by default a hint be shown already if the correctness test fails. If FALSE (default) hints are only shown if the user types hint() or, in the shiny version, presses the hint button.


A text that will be shown in chunks without any task block. Default is empty.task.txt = "# Enter your code here."


The string you use as placeholder in fill_in blocks. By default "___". This should be a pattern that you don't use in your normal code. If a user's input cannot be parsed, we replace this pattern by an internal represenataion that is valid R syntax.


If TRUE (default) the first chunk is more compact and only contains the user name line. Otherwise it also contains the calls to check.problem.set which would allow to check the problem set also without the RStudio Addin.


If TRUE (default) stops the creation of the problem set and shows an informative error message if it looks as if the solution file was shown in the new visual mode for markdown files. The new visual mode markdown feature of RStudio is cool for solving RTutor problem sets. But you should never view the solution file from which you generate the problem set in visual mode, since it rewrites the code in an unparseable way.


if TRUE change lines that start with a) or b) etc to **a)** and **b)**. This turns-off auto enumeration and makes problem sets look nicer in visual markdown mode.