diff --git a/R/revealjs_presentation.R b/R/revealjs_presentation.R
index d93e617..31c14f1 100644
--- a/R/revealjs_presentation.R
+++ b/R/revealjs_presentation.R
@@ -124,7 +124,9 @@
 #' the overview slide's table of contents uses them as its ordered list's
 #' enumeration. Decks rendered with `slide_level = 1` (one `#` heading per
 #' slide) are left unnumbered -- there, headings denote slides, not
-#' chapters.
+#' chapters. The numbering can be turned off with `chapter_numbering: false`
+#' in the yaml header, or started at another number with e.g.
+#' `chapter_numbering: 5` (useful for continuation decks).
 #' 
 #' ## Overview slides
 #' 
@@ -225,6 +227,13 @@
 #'   produced, with level 1 headers building horizontally and level 2 headers
 #'   building vertically. It is not recommended that you use deeper nesting of
 #'   section levels with reveal.js.
+#' @param chapter_numbering `TRUE` (the default) numbers the `#` chapter
+#'   headings automatically ("1. Introduction", "2. Methods", ...), skipping
+#'   references, appendix and thank-you chapters. `FALSE` turns the numbering
+#'   off -- headings keep exactly what was typed, including any manually
+#'   typed numbers. A number starts the enumeration at that value:
+#'   `chapter_numbering = 5` numbers the first chapter "5." (useful for
+#'   continuation decks).
 #' @param theme Visual theme. The dedicated IDS corporate design theme
 #'   ("ids") is the default and the only supported theme.
 #' @param transition Slide transition (
@@ -278,6 +287,7 @@
 revealjs_presentation <- function(incremental = FALSE,
                                   center = FALSE,
                                   slide_level = 2,
+                                  chapter_numbering = TRUE,
                                   toc = FALSE,
                                   toc_depth = 3,
                                   fig_width = 8,
@@ -326,6 +336,21 @@
   # slide level
   args <- c(args, "--slide-level", as.character(slide_level))
 
+  # chapter numbering: FALSE disables the automatic "1. ", "2. " prefixes on
+  # chapter headings; a number starts the enumeration at that value (useful
+  # e.g. for continuation decks). TRUE, the default, numbers from 1.
+  if (identical(chapter_numbering, FALSE)) {
+    args <- c(args, pandoc_variable_arg("chapter-numbering-off"))
+  } else if (is.numeric(chapter_numbering)) {
+    if (chapter_numbering != 1) {
+      args <- c(args, pandoc_variable_arg(
+        "chapter-numbering-start", as.integer(chapter_numbering)
+      ))
+    }
+  } else if (!isTRUE(chapter_numbering)) {
+    stop("chapter_numbering must be TRUE, FALSE or a number", call. = FALSE)
+  }
+
   # theme
   theme <- match.arg(theme, revealjs_themes())
   if (identical(theme, "default")) {
