Current versions of pandoc (i.e., pandoc 2.0 and later) supports fenced divs. Specially named divs are transformed into columns when targeting a slides format:
# This slide has columns
::: columns
:::: column
left
::::
:::: column
right
::::
:::
Pandoc translates this into the following LaTeX beamer code:
egin{frame}{This slide has columns}
protecthypertarget{this-slide-has-columns}{}
egin{columns}[T]
egin{column}{0.48extwidth}
left
end{column}
egin{column}{0.48extwidth}
right
end{column}
end{columns}
end{frame}
This is simple and has the additional advantage of giving similar results when targeting other presentational formats like reveal.js.
More than two columns work out of the box for Beamer output. Powerpoint, however, only supports two columns. For reveal.js, the widths of three or more columns must be given explicitly:
::: columns
:::: {.column width=30%}
left
::::
:::: {.column width=30%}
middle
::::
:::: {.column width=30%}
right
::::
:::
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…