The $format() method of a CmdStanModel object runs stanc's auto-formatter on the model code. Either saves the formatted model directly back to the file or prints it for inspection.

  overwrite_file = FALSE,
  canonicalize = FALSE,
  backup = TRUE,
  max_line_length = NULL,
  quiet = FALSE



(logical) Should the formatted code be written back to the input model file. The default is FALSE.


(list or logical) Defines whether or not the compiler should 'canonicalize' the Stan model, removing things like deprecated syntax. Default is FALSE. If TRUE, all canonicalizations are run. You can also supply a list of strings which represent options. In that case the options are passed to stanc (new in Stan 2.29). See the User's guide section for available canonicalization options.


(logical) If TRUE, create stanfile.bak backups before writing to the file. Disable this option if you're sure you have other copies of the file or are using a version control system like Git. Defaults to TRUE. The value is ignored if overwrite_file = FALSE.


(integer) The maximum length of a line when formatting. The default is NULL, which defers to the default line length of stanc.


(logical) Should informational messages be suppressed? The default is FALSE.


The $format() method returns TRUE (invisibly) if the model is valid.


# \dontrun{
file <- write_stan_file("
data {
  int N;
  int y[N];
parameters {
  real                     lambda;
model {
  target +=
 poisson_lpmf(y | lambda);
mod <- cmdstan_model(file, compile = FALSE)
mod$format(canonicalize = TRUE)
#> data {
#>   int N;
#>   array[N] int y;
#> }
#> parameters {
#>   real lambda;
#> }
#> model {
#>   target += poisson_lpmf(y | lambda);
#> }
# }