Skip to contents

Inserts the placeholder entries of a speclayout (those with a type:, such as section or custom) into an already generated deck, at pages derived from their position among the TLG entries. No page numbers need to be typed.

Usage

place_speclayout_placeholders(
  doc_o,
  speclayout,
  content_counts = NULL,
  doc_original = NULL,
  save_file = FALSE,
  layouts = placeholder_layouts(),
  types = placeholder_types(),
  metadata = NULL
)

Arguments

doc_o

Path to the .pptx holding the generated TLG slides.

speclayout

A named, ordered list read from a speclayout yaml file, with placeholder entries between the TLG entries.

content_counts

Optional slides per TLG entry, see derive_placeholder_page_list().

doc_original

An optional officer::rpptx object. If NULL, the deck is read from doc_o.

save_file

If TRUE, the finished deck is written next to doc_o.

layouts

The role lookup, see placeholder_layouts().

types

The placeholder types, see placeholder_types().

metadata

Optional named list of values for {token}s, passed to placeholder functions that accept metadata.

Value

The officer::rpptx object with the placeholder slides inserted.

Details

The deck at doc_o must hold exactly the TLG slides of the speclayout, in order (the shipped basic.pptx theme has one empty slide; remove it or include it in content_counts).

Examples

deck <- officer::read_pptx(system.file("theme/basic.pptx", package = "autoslider.core"))
deck <- officer::remove_slide(deck, index = 1)
for (i in 1:2) {
  deck <- officer::add_slide(deck, layout = "Title and Content", master = "Office Theme")
}
content <- tempfile(fileext = ".pptx")
print(deck, content)

speclayout <- list(
  sec_dm = list(type = "section", title = "Demographics", subtitle = "{study}"),
  t_dm_slide_FAS = list(program = "t_dm_slide", suffix = "FAS"),
  sec_ae = list(type = "section", title = "Adverse Events"),
  t_ae_slide_SE = list(program = "t_ae_slide", suffix = "SE")
)
doc <- place_speclayout_placeholders(content, speclayout, metadata = list(study = "BP12345"))
length(doc)
#> [1] 4