diff --git a/R/posterdown_html.R b/R/posterdown_html.R
index 477c95d..9089483 100644
--- a/R/posterdown_html.R
+++ b/R/posterdown_html.R
@@ -1,9 +1,11 @@
+
 #' Posterdown HTML format (using bookdown::html_document2)
+#'
 #' @inheritParams pagedown::poster_relaxed
-#' @param ... Additional arguments to \code{rmarkdown::html_document}
+#' @param ... Additional arguments to `rmarkdown::html_document`
 #'
 #' @return R Markdown output format to pass to
-#'   \code{\link[rmarkdown:render]{render}}
+#'   [rmarkdown:render::render()]
 #'
 #' @examples
 #'
@@ -17,7 +19,8 @@
 	css = NULL) {
 	pagedown::poster_relaxed(..., css = css, template = template)
 }
-#' @description The output format \code{poster_betterland()} mimics the style of the
+
+#' @description The output format `poster_betterland()` mimics the style of the
 #' \dQuote{BetterPoster} movement from twitter.
 #' @rdname posterdown_html
 #' @export
@@ -26,3 +29,13 @@
                             css = NULL) {
   pagedown::poster_relaxed(..., css = css, template = template)
 }
+
+#' @description The output format `poster_betterport()` mimics the style of the
+#' \dQuote{BetterPoster} movement from twitter.
+#' @rdname posterdown_html
+#' @export
+posterdown_betterport <- function(...,
+                                  template = find_resource("posterdown_betterport", "template.html"),
+                                  css = NULL) {
+  pagedown::poster_relaxed(..., css = css, template = template)
+}
diff --git a/R/posterdown_latex.R b/R/posterdown_latex.R
index 977cb7d..0ba4da7 100644
--- a/R/posterdown_latex.R
+++ b/R/posterdown_latex.R
@@ -1,10 +1,10 @@
 #' Posterdown LaTeX format (using Memoir LaTeX document class)
 #'
 #' @inheritParams rmarkdown::pdf_document
-#' @param ... Additional arguments to \code{rmarkdown::pdf_document}
+#' @param ... Additional arguments to `rmarkdown::pdf_document`
 #'
 #' @return R Markdown output format to pass to
-#'   \code{\link[rmarkdown:render]{render}}
+#'   [rmarkdown:render::render()]
 #'
 #' @examples
 #'
diff --git a/man/posterdown_html.Rd b/man/posterdown_html.Rd
index 8c9f7fe..c062319 100644
--- a/man/posterdown_html.Rd
+++ b/man/posterdown_html.Rd
@@ -21,7 +21,7 @@
 }
 \value{
 R Markdown output format to pass to
-  \code{\link[rmarkdown:render]{render}}
+\code{\link[rmarkdown:render:render]{rmarkdown:render::render()}}
 }
 \description{
 The output format \code{poster_betterland()} mimics the style of the
diff --git a/man/posterdown_latex.Rd b/man/posterdown_latex.Rd
index 2cf4ce7..3164ff5 100644
--- a/man/posterdown_latex.Rd
+++ b/man/posterdown_latex.Rd
@@ -16,7 +16,7 @@
 }
 \value{
 R Markdown output format to pass to
-  \code{\link[rmarkdown:render]{render}}
+\code{\link[rmarkdown:render:render]{rmarkdown:render::render()}}
 }
 \description{
 Legacy function for the OG's of posterdown.
