# Generated by roxygen2: do not edit by hand

export(posterdown_betterland)
export(posterdown_html)
export(posterdown_latex)
export(posterdown_pdf)
import(bookdown)
import(ggplot2)
import(knitr)
import(pagedown)
import(rmarkdown)
