Layout

Controlling the layout of a slide can be done using a simple column-based system. It works by creating a columns or adaptiveColumns environment and then all column inside them will be in their own column.

slide:
  nbText: "## 2 Columns"
  columns:
    column:
      nbText: "Left"
    column:
      nbText: "Right"
slide:
  nbText: "## 3 Columns"
  adaptiveColumns:
    column:
      nbText: "Left"
    column:
      nbText: "Middle"
    column:
      nbText: "Right"

2 Columns

Left

Right

3 Columns

Left

Middle

Right

The difference between the two environments is that columns creates columns of equal size while adaptiveColumns only makes each column as big as it needs. See the difference in this example:

slide:
  nbText: "### columns vs adaptiveColumns"
  columns:
    column:
      nbText: "Short text"
    column:
      nbText: "Looooooooooooooooong text"
  adaptiveColumns:
    column:
      nbText: "Short text"
    column:
      nbText: "Looooooooooooooooong text"

columns vs adaptiveColumns

Short text

Looooooooooooooooong text

Short text

Looooooooooooooooong text

As we can see, the adaptiveColumns made the "Short text" column smaller because it didn't need more space. This allowed the looong text to fit in one line.

Vertical Centering

By default, all content is centered both horizontally and vertically. The vertical (up-down) centering can be globally disabled for all slides by calling:

disableVerticalCentering()

Text alignment

See align in Text Formatting