add posterdown_betterport
portrait template for better poster design has been added
- support for longer author list if needed, can specify various authors to be highlited in the begining of the list.
- better responsiveness to spacing when changinf poster size
- may need to go back and ensure YAML options amon all templates are more standardized.
diff --git a/NAMESPACE b/NAMESPACE
index 1f7e92e..2f7ae9c 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -1,6 +1,7 @@
# Generated by roxygen2: do not edit by hand
export(posterdown_betterland)
+export(posterdown_betterport)
export(posterdown_html)
export(posterdown_latex)
export(posterdown_pdf)
diff --git a/R/posterdown_html.R b/R/posterdown_html.R
index 477c95d..f4395ae 100644
--- a/R/posterdown_html.R
+++ b/R/posterdown_html.R
@@ -26,3 +26,12 @@
css = NULL) {
pagedown::poster_relaxed(..., css = css, template = template)
}
+#' @description The output format \code{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/inst/CITATION b/inst/CITATION
index 7460ea8..d40697c 100644
--- a/inst/CITATION
+++ b/inst/CITATION
@@ -4,7 +4,7 @@
vers <- paste("R package version", meta$Version)
citEntry(entry="Manual",
- title = "posterdown: An R Package",
+ title = "posterdown: An R Package Built to Generate Reproducible Conference Posters for the Academic and Professional World Were Powerpoint and Pages Just Wont Cut It",
author = personList(as.person("W. Brent Thorne")),
year = 2019,
url = "https://github.com/brentthorne/posterdown",
diff --git a/inst/rmarkdown/templates/posterdown_betterland/resources/template.html b/inst/rmarkdown/templates/posterdown_betterland/resources/template.html
index 65bcf99..b431d73 100644
--- a/inst/rmarkdown/templates/posterdown_betterland/resources/template.html
+++ b/inst/rmarkdown/templates/posterdown_betterland/resources/template.html
@@ -38,8 +38,6 @@
<link href='https://fonts.googleapis.com/css?family=$middle_fontfamily$' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=$font_family$' rel='stylesheet'>
-
-
<!--
Here are the required style attributes for css to make this poster work :)
-->
@@ -189,6 +187,14 @@
.author sup {
font-size: 30px;
}
+.author_extra {
+padding-right: 7%;
+padding-left: 7%;
+color: $secondary_colour$;
+margin: 0;
+line-height: 85%;
+font-size: $authorextra_textsize$;
+}
.outer h1 {
text-align: center;
margin-top: 0.5in;
@@ -282,14 +288,28 @@
<h1 id="title">$title$</h1>
<br>
<h3 id="author" class="author">
-$for(author)$$author.name$<sup> $author.affil$</sup><br>
+
+$for(author)$
+$if(author.main)$
+$author.name$<sup> $author.affil$</sup><br>
$if(author.twitter)$<a class="twitter" href="https://mobile.twitter.com/$author.twitter$"><i class="fab fa-twitter"></i> @$author.twitter$</a><br>
$else$$endif$
$if(author.email)$
-<a class='envelope'><i class="fas fa-envelope"></i></a> $author.email$
+<a class='envelope'><i class="fas fa-envelope"></i></a> $author.email$ <br>
$else$$endif$
-$sep$<br> $endfor$
+$else$$endif$
+$sep$ $endfor$
</h3>
+
+<h5 id="author_extra", class="author_extra">
+$for(author)$
+$if(author.main)$
+$else$
+$author.name$<sup>$author.affil$</sup>
+$endif$
+$sep$ $endfor$
+</h5>
+
<p id="affiliation" class="affiliation">
$for(affiliation)$<sup>$affiliation.num$</sup> $affiliation.address$$sep$<br> $endfor$
</p>
diff --git a/inst/rmarkdown/templates/posterdown_betterland/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/posterdown_betterland/skeleton/skeleton.Rmd
index 51d39fc..926cb95 100644
--- a/inst/rmarkdown/templates/posterdown_betterland/skeleton/skeleton.Rmd
+++ b/inst/rmarkdown/templates/posterdown_betterland/skeleton/skeleton.Rmd
@@ -8,27 +8,33 @@
author:
- name: W. Brent Thorne
affil: 1,*
+ main: true
orcid: '0000-0002-1099-3857'
twitter: brentthorne18
email: bthorne2@brocku.ca
- name: Another G. Contributor
affil: 2
- email: ag.con@posterdown.net
+ email: 'ag.con@posterdown.net'
+ - name: Person Three
+ affil: 3
affiliation:
- num: 1
address: Department of Earth Science, Brock University
- num: 2
address: Department of Graphics and Layouts, University of Posters; Canada
+ - num: 3
+ address: Another Institute of a place where work gets done, Earth, Milky Way
#STYLE & FORMATTING
title_textsize: "125pt"
author_textsize: "1.17em"
+authorextra_textsize: "35px"
affiliation_textsize: "25px"
affiliation_textcol: '#00000080'
caption_fontsize: "20pt"
#Middle of the poster
middle_fontfamily: "Special Elite"
middle_textcol: "#FFFFFF90"
-middle_fontsize: "17px"
+middle_fontsize: "170px"
main_findings:
- "Make **better posters** with <br> RMarkdown + **posterdown**."
- "Transition from **poster** to **manuscript** with ease!"
@@ -68,7 +74,7 @@
# Results
-```{r, out.width='90%', fig.height=4, fig.cap='Using {ggplot} and {patchwork} to generate a layout of multiple plots in one figure [@patchwork2017].'}
+```{r, out.width='90%', fig.height=5.5, fig.cap='Using {ggplot} and {patchwork} to generate a layout of multiple plots in one figure [@patchwork2017].'}
library(tidyverse)
library(patchwork)
@@ -122,4 +128,6 @@
```
+A **BIG** thank you to [Romain Leasur](https://twitter.com/RLesur) and [Yihui Xie](https://twitter.com/xieyihui) for their wonderfull work on [{pagedown}](https://github.com/rstudio/pagedown) which had made this poster possible [@pagedown]!
+
# References
diff --git a/inst/rmarkdown/templates/posterdown_betterport/resources/template.html b/inst/rmarkdown/templates/posterdown_betterport/resources/template.html
new file mode 100644
index 0000000..f68ae7a
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_betterport/resources/template.html
@@ -0,0 +1,369 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml"$if(lang)$ lang="$lang$" xml:lang="$lang$"$endif$>
+<head>
+<meta charset="utf-8" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="pandoc" />
+<meta name="viewport" content="width=device-width, initial-scale=1">
+
+$for(author-meta)$<meta name="author" content="$author-meta$" />$endfor$
+$if(date-meta)$<meta name="date" content="$date-meta$" />$endif$
+<title>$if(title-prefix)$$title-prefix$ - $endif$$pagetitle$</title>
+
+$for(header-includes)$
+$header-includes$
+$endfor$
+
+$if(highlightjs)$
+<link rel="stylesheet" href="$highlightjs$/$if(highlightjs-theme)$$highlightjs-theme$$else$default$endif$.css" $if(html5)$$else$type="text/css" $endif$/>
+<script src="$highlightjs$/highlight.js"></script>
+<script type="text/javascript">hljs.configure({languages: []}); hljs.initHighlightingOnLoad();</script>
+$endif$
+
+$if(highlighting-css)$<style type="text/css">$highlighting-css$</style>$endif$
+
+$for(css)$
+<link rel="stylesheet" href="$css$" $if(html5)$$else$type="text/css" $endif$/>
+$endfor$
+
+<!--
+Font-awesome icons ie github or twitter
+-->
+<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
+<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/brands.css" integrity="sha384-n9+6/aSqa9lBidZMRCQHTHKJscPq6NW4pCQBiMmHdUCvPN8ZOg2zJJTkC7WIezWv" crossorigin="anonymous">
+
+<!--
+Google fonts api stuff
+-->
+<link href='https://fonts.googleapis.com/css?family=$middle_fontfamily$' rel='stylesheet'>
+<link href='https://fonts.googleapis.com/css?family=$font_family$' rel='stylesheet'>
+
+<!--
+Here are the required style attributes for css to make this poster work :)
+-->
+<style>
+@page {
+size: $poster_width$ $poster_height$;
+margin: 0;
+padding: 0;
+}
+body {
+margin: 0px;
+padding: 0px;
+width: $poster_width$;
+height: $poster_height$;
+text-align: justify;
+font-size: $body_textsize$;
+}
+/* RMarkdown Class Styles */
+/* center align leaflet map,
+from https://stackoverflow.com/questions/52112119/center-leaflet-in-a-rmarkdown-document */
+.html-widget {
+margin: auto;
+position: sticky;
+margin-top: 2cm;
+margin-bottom: 2cm;
+}
+.leaflet.html-widget.html-widget-static-bound.leaflet-container.leaflet-touch.leaflet-fade-anim.leaflet-grab.leaflet-touch-drag.leaflet-touch-zoom {
+position: sticky;
+width: 100%;
+}
+pre.sourceCode.r {
+background-color: #dddddd40;
+border-radius: 4mm;
+padding: 4mm;
+width: 75%;
+margin: auto;
+margin-top: 1em;
+margin-bottom: 1em;
+/* align-items: center; */
+padding-left: 2cm;
+}
+code.sourceCode.r{
+background-color: transparent;
+font-size: 20pt;
+border-radius: 2mm;
+}
+code {
+font-size: 25pt;
+font-family: monospace;
+background-color: $secondary_colour$24;
+color: $primary_colour$;
+padding: 1.2mm;
+border-radius: 2mm;
+}
+caption {
+margin-bottom: 10px;
+font-size: $caption_fontsize$;
+font-style: italic;
+}
+tbody tr:nth-child(odd) {
+ background-color: $primary_colour$20;
+}
+.table>thead>tr>th, .table>tbody>tr>th, .table>tfoot>tr>th, .table>thead>tr>td, .table>tbody>tr>td, .table>tfoot>tr>td{
+ border-spacing: 0;
+ border-style: none;
+ padding-top: 15px;
+ padding-bottom: 15px;
+ padding-right: 20px;
+ padding-left: 20px;
+ line-height: 1.42857143;
+}
+.caption {
+font-size: $caption_fontsize$;
+font-style: italic;
+}
+.references {
+font-size: $reference_textsize$;
+line-height: 90%;
+}
+/* Create three unequal columns that floats next to each other */
+.column {
+float: left;
+padding: 0px;
+}
+.outer {
+width: $poster_width$;
+height: calc($poster_height$ * 0.6325);
+-webkit-column-count: 3; /* Chrome, Safari, Opera */
+-moz-column-count: 3; /* Firefox */
+column-count: 3;
+-webkit-column-fill: auto;
+-moz-column-fill: auto;
+column-fill: auto;
+column-gap: 0;
+padding-left: 0cm;
+padding-right: 0cm;
+/* -webkit-column-rule-width: 50%;
+-moz-column-rule-width: 50%;
+column-rule-width: 50%; */
+-webkit-column-rule-style: none;
+-moz-column-rule-style: none;
+column-rule-style: none;
+-webkit-column-rule-color: black;
+-moz-column-rule-color: black;
+column-rule-color: black;
+background-color: $body_bgcol$;
+font-family: $font_family$;
+margin-top: calc($poster_height$ * 0.25);
+padding-top: 1em;
+padding-bottom: 1em;
+}
+span.citation {
+ color: $secondary_colour$;
+ font-weight: bold;
+}
+a {
+text-decoration: none;
+color: $secondary_colour$;
+}
+#title {
+font-size: $title_textsize$;
+text-align: left;
+padding-right: 5%;
+padding-left: 5%;
+margin: 0;
+line-height: 80%;
+border-bottom: 0;
+}
+#author {
+padding-right: 5%;
+padding-left: 5%;
+color: $primary_colour$;
+margin: 0;
+line-height: 85%;
+font-size: $author_textsize$;
+}
+#affiliation {
+padding-right: 5%;
+padding-left: 5%;
+padding-top: 1em;
+color: $affiliation_textcol$;
+font-style: italic;
+font-size: $affiliation_textsize$;
+margin: 0;
+}
+sup {
+color: $accent_colour$;
+}
+.affiliation sup {
+font-size: 20px;
+}
+.author sup {
+font-size: 30px;
+}
+.author_extra {
+padding-right: 5%;
+padding-left: 5%;
+color: $secondary_colour$;
+margin: 0;
+line-height: 85%;
+font-size: $authorextra_textsize$;
+}
+.outer h1 {
+text-align: center;
+margin-top: 0.5in;
+margin-bottom: 0.5in;
+}
+.outer h2 {
+text-align: center;
+}
+.outer p, .level2 {
+padding-right: 5%;
+padding-left: 5%;
+color: #000000;
+}
+.outer ol {
+padding-left: 8%;
+padding-right: 8%;
+text-align: left;
+}
+.middle {
+width: $poster_width$;
+height: calc($poster_height$ * 0.25);
+position: absolute;
+background-color: $primary_colour$;
+color: $middle_textcol$;
+font-family: $middle_fontfamily$;
+background-image: linear-gradient($primary_colour$ 50%, $secondary_colour$);
+}
+.middle strong {
+color: #FFFFFF;
+}
+#middle-img-left {
+width: 10%;
+left: 0.5in;
+bottom: 0.2in;
+position: absolute;
+opacity: 0.5
+}
+#middle-img-center {
+width: 10%;
+left: calc($poster_width$ * 0.45);
+bottom: 0.5in;
+position: absolute;
+opacity: 0.5
+}
+#middle-img-right {
+width: 10%;
+right: 0.5in;
+bottom: 0.2in;
+position: absolute;
+opacity: 0.6
+}
+.middle p {
+padding-left: 7%;
+padding-right: 7%;
+font-size: $middle_fontsize$;
+text-align: left;
+}
+.fab {
+color: #00000030;
+font-size: 25px;
+}
+.twitter, i {
+color: #00000030;
+font-size: 35px;
+text-decoration: none;
+}
+a.email {
+text-decoration: none;
+color: #00000030;
+font-size: 35px;
+}
+.envelope {
+color: #00000030;
+font-size: 5px;
+text-decoration: none;
+}
+.poster_wrap {
+width: $poster_width$;
+height: $poster_height$;
+padding: 0cm;
+}
+.emphasis_bottom {
+width: $poster_width$;
+height: calc($poster_height$ * 0.1);
+margin-top: calc($poster_height$ * 0.9);
+position: absolute;
+background-color: $primary_colour$;
+background-image: linear-gradient($secondary_colour$ 10%, $primary_colour$);
+}
+
+span > #tab:mytable {
+ font-weight: bold;
+}
+</style>
+</head>
+<body>
+
+$for(include-before)$
+$include-before$
+$endfor$
+
+<div class="poster_wrap">
+
+<div class="column outer">
+<h1 id="title">$title$</h1>
+<h3 id="author" class="author">
+
+$for(author)$
+$if(author.main)$
+$author.name$<sup> $author.affil$</sup><br>
+$if(author.twitter)$<a class="twitter" href="https://mobile.twitter.com/$author.twitter$"><i class="fab fa-twitter"></i> @$author.twitter$</a><br>
+$else$$endif$
+$if(author.email)$
+<a class='envelope'><i class="fas fa-envelope"></i></a> $author.email$ <br>
+$else$$endif$
+$else$$endif$
+$sep$ $endfor$
+</h3>
+
+<h5 id="author_extra", class="author_extra">
+$for(author)$
+$if(author.main)$
+$else$
+$author.name$<sup>$author.affil$</sup>
+$endif$
+$sep$ $endfor$
+</h5>
+
+<p id="affiliation" class="affiliation">
+$for(affiliation)$<sup>$affiliation.num$</sup> $affiliation.address$$sep$<br> $endfor$
+</p>
+
+$body$
+
+</div>
+<div class="column middle">
+<p>$for(main_findings)$$main_findings$$sep$<br><br> $endfor$</p>
+</div>
+<div class="emphasis_bottom">
+<img id="middle-img-left" src=$logoleft_name$>
+<img id="middle-img-center" src=$logocenter_name$>
+<img id="middle-img-right" src="$logoright_name$">
+</div>
+</div>
+
+$if(math)$
+<!-- dynamically load mathjax for compatibility with self-contained -->
+<script>
+(function () {
+var script = document.createElement("script");
+script.type = "text/javascript";
+var src = "$if(mathjax)$$mathjax$$endif$";
+if (src === "" || src === "true") src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-MML-AM_CHTML";
+if (location.protocol !== "file:" && /^https?:/.test(src))
+src = src.replace(/^https?:/, '');
+script.src = src;
+document.getElementsByTagName("head")[0].appendChild(script);
+})();
+</script>
+$endif$
+
+$for(include-after)$
+$include-after$
+$endfor$
+
+</body>
+</html>
diff --git a/inst/rmarkdown/templates/posterdown_betterport/skeleton/Figures/posterdownlogo.png b/inst/rmarkdown/templates/posterdown_betterport/skeleton/Figures/posterdownlogo.png
new file mode 100644
index 0000000..258776d
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_betterport/skeleton/Figures/posterdownlogo.png
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_betterport/skeleton/Figures/qr-code-black.png b/inst/rmarkdown/templates/posterdown_betterport/skeleton/Figures/qr-code-black.png
new file mode 100644
index 0000000..8fcbfde
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_betterport/skeleton/Figures/qr-code-black.png
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_betterport/skeleton/MyBib.bib b/inst/rmarkdown/templates/posterdown_betterport/skeleton/MyBib.bib
new file mode 100644
index 0000000..02a8bb7
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_betterport/skeleton/MyBib.bib
@@ -0,0 +1,131 @@
+@Manual{thorneposterdown2019,
+ title = {posterdown: An R Package built to generate reproducible conference posters for the academic and professional world were PowerPoint and Pages just wont cut it},
+ author = {W. Brent Thorne},
+ year = {2019},
+ volume = {0.1.2},
+ url = {https://github.com/brentthorne/posterdown},
+ note = {R package version 0.1.2},
+}
+
+@Manual{ggspatial,
+ title = {ggspatial: Spatial Data Framework for ggplot2},
+ author = {Dewey Dunnington},
+ note = {R package version 1.0.1},
+ url = {https://github.com/paleolimbot/ggspatial},
+}
+
+@Manual{gganimate2017,
+ title = {gganimate: A Grammar of Animated Graphics},
+ author = {Thomas Lin Pedersen and David Robinson},
+ year = {2017},
+ note = {R package version 0.9.9.9999},
+ url = {http://github.com/thomasp85/gganimate},
+}
+
+@Manual{patchwork2017,
+ title = {patchwork: The Composer of ggplots},
+ author = {Thomas Lin Pedersen},
+ year = {2017},
+ note = {R package version 0.0.1},
+ url = {https://github.com/thomasp85/patchwork},
+}
+
+@Manual{kableExtra2019,
+ title = {kableExtra: Construct Complex Table with 'kable' and Pipe Syntax},
+ author = {Hao Zhu},
+ year = {2019},
+ note = {R package version 1.0.0},
+ url = {https://CRAN.R-project.org/package=kableExtra},
+}
+
+@Manual{rmarkdown,
+ title = {rmarkdown: Dynamic Documents for R},
+ author = {JJ Allaire and Yihui Xie and Jonathan McPherson and Javier Luraschi and Kevin Ushey and Aron Atkins and Hadley Wickham and Joe Cheng and Winston Chang and Richard Iannone},
+ year = {2018},
+ note = {R package version 1.11},
+ url = {https://rmarkdown.rstudio.com},
+}
+
+@Manual{sf,
+ title = {sf: Simple Features for R},
+ author = {Edzer Pebesma},
+ year = {2018},
+ note = {R package version 0.6-3},
+ url = {https://CRAN.R-project.org/package=sf},
+}
+
+@Manual{tidyverse,
+ title = {tidyverse: Easily Install and Load the 'Tidyverse'},
+ author = {Hadley Wickham},
+ year = {2017},
+ note = {R package version 1.2.1},
+ url = {https://CRAN.R-project.org/package=tidyverse},
+}
+
+@Manual{pagedown,
+ title = {pagedown: Paginate the HTML Output of R Markdown with CSS for Print},
+ author = {Yihui Xie and Romain Lesur},
+ note = {R package version 0.1.2},
+ url = {https://github.com/rstudio/pagedown},
+}
+
+@Manual{leaflet,
+ title = {leaflet: Create Interactive Web Maps with the JavaScript 'Leaflet'
+Library},
+ author = {Joe Cheng and Bhaskar Karambelkar and Yihui Xie},
+ year = {2018},
+ note = {R package version 2.0.2},
+ url = {https://CRAN.R-project.org/package=leaflet},
+}
+
+@Manual{ggthemes,
+ title = {ggthemes: Extra Themes, Scales and Geoms for 'ggplot2'},
+ author = {Jeffrey B. Arnold},
+ note = {R package version 4.0.1},
+ url = {http://github.com/jrnold/ggthemes},
+}
+
+@Manual{rticles,
+ title = {rticles: Article Formats for R Markdown},
+ author = {JJ Allaire and Yihui Xie and {R Foundation} and Hadley Wickham and {Journal of Statistical Software} and Ramnath Vaidyanathan and {Association for Computing Machinery} and Carl Boettiger and {Elsevier} and Karl Broman and Kirill Mueller and Bastiaan Quast and Randall Pruim and Ben Marwick and Charlotte Wickham and Oliver Keyes and Miao Yu and Daniel Emaasit and Thierry Onkelinx and Alessandro Gasparini and Marc-Andre Desautels and Dominik Leutnant and {MDPI} and Oğuzhan Öğreden and Dalton Hance and Daniel Nüst},
+ year = {2018},
+ note = {R package version 0.6},
+ url = {https://CRAN.R-project.org/package=rticles},
+}
+
+@Manual{thesisdown,
+ title = {thesisdown: An updated R Markdown thesis template using the bookdown package},
+ author = {Nick Solomon},
+ year = {2019},
+ note = {R package version 0.0.2},
+}
+
+@Book{knitr,
+ title = {Dynamic Documents with {R} and knitr},
+ author = {Yihui Xie},
+ publisher = {Chapman and Hall/CRC},
+ address = {Boca Raton, Florida},
+ year = {2015},
+ edition = {2nd},
+ note = {ISBN 978-1498716963},
+ url = {https://yihui.name/knitr/},
+}
+
+@article{turnerControlsWaterBalance2014,
+ title = {Controls on water balance of shallow thermokarst lakes and their relations with catchment characteristics: a multi-year, landscape-scale assessment based on water isotope tracers and remote sensing in {Old} {Crow} {Flats}, {Yukon} ({Canada})},
+ volume = {20},
+ issn = {13541013},
+ shorttitle = {Controls on water balance of shallow thermokarst lakes and their relations with catchment characteristics},
+ url = {http://doi.wiley.com/10.1111/gcb.12465},
+ doi = {10.1111/gcb.12465},
+ abstract = {Many northern lake-rich regions are undergoing pronounced hydrological change, yet inadequate knowledge of the drivers of these landscape-scale responses hampers our ability to predict future conditions. We address this challenge in the thermokarst landscape of Old Crow Flats (OCF) using a combination of remote sensing imagery and monitoring of stable isotope compositions of lake waters over three thaw seasons (2007–2009). Quantitative analysis confirmed that the hydrological behavior of lakes is strongly influenced by catchment vegetation and physiography. Catchments of snowmelt-dominated lakes, typically located in southern peripheral areas of OCF, encompass high proportions of woodland/forest and tall shrub vegetation (mean percent land cover = ca. 60\%). These land cover types effectively capture snow and generate abundant snowmelt runoff that offsets lake water evaporation. Rainfalldominated lakes that are not strongly influenced by evaporation are typically located in eastern and northern OCF where their catchments have higher proportions of dwarf shrub/herbaceous and sparse vegetation (ca. 45\%), as well as surface water (ca. 20\%). Evaporation-dominated lakes, are located in the OCF interior where their catchments are distinguished by substantially higher lake area to catchment area ratios (LA/CA = ca. 29\%) compared to low evaporation-influenced rainfall-dominated (ca. 10\%) and snowmelt-dominated (ca. 4\%) lakes. Lakes whose catchments contain {\textgreater}75\% combined dwarf shrub/herbaceous vegetation and surface water are most susceptible to evaporative lake-level drawdown, especially following periods of low precipitation. Findings indicate that multiple hydrological trajectories are probable in response to climate-driven changes in precipitation amount and seasonality, vegetation composition, and thermokarst processes. These will likely include a shift to greater snowmelt influence in catchments experiencing expansion of tall shrubs, greater influence from evaporation in catchments having higher proportions of surface water, and an increase in the rate of thermokarst lake expansion and probability of drainage. Local observations suggest that some of these changes are already underway.},
+ language = {en},
+ number = {5},
+ urldate = {2018-06-29},
+ journal = {Global Change Biology},
+ author = {Turner, Kevin W. and Wolfe, Brent B. and Edwards, Thomas W. D. and Lantz, Trevor C. and Hall, Roland I. and Larocque, Guillaume},
+ month = may,
+ year = {2014},
+ pages = {1585--1603},
+ file = {Turner et al. - 2014 - Controls on water balance of shallow thermokarst l.pdf:/home/thornux/Zotero/storage/ENFATHMR/Turner et al. - 2014 - Controls on water balance of shallow thermokarst l.pdf:application/pdf}
+}
diff --git a/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5271_5834.png b/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5271_5834.png
new file mode 100644
index 0000000..c069f64
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5271_5834.png
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5271_5835.png b/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5271_5835.png
new file mode 100644
index 0000000..d5646da
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5271_5835.png
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5272_5834.png b/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5272_5834.png
new file mode 100644
index 0000000..9f8c5c6
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5272_5834.png
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5272_5835.png b/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5272_5835.png
new file mode 100644
index 0000000..d730e99
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5272_5835.png
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5273_5834.png b/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5273_5834.png
new file mode 100644
index 0000000..2b6b5e5
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5273_5834.png
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5273_5835.png b/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5273_5835.png
new file mode 100644
index 0000000..cb41c0a
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_betterport/skeleton/rosm.cache/osm/14_5273_5835.png
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_betterport/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/posterdown_betterport/skeleton/skeleton.Rmd
new file mode 100644
index 0000000..bb3873d
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_betterport/skeleton/skeleton.Rmd
@@ -0,0 +1,192 @@
+---
+# PLEASE SEE THE README for in depth description github.com/brentthorne/posterdown
+poster_height: "48in"
+poster_width: "36in"
+font_family: 'Rasa'
+#ESSENTIALS
+title: A Better Reproducible Poster Title
+author:
+ - name: W. Brent Thorne
+ affil: 1,*
+ main: true
+ orcid: '0000-0002-1099-3857'
+ twitter: brentthorne18
+ email: bthorne2@brocku.ca
+ - name: Another G. Contributor
+ affil: 2
+ main: false
+ email: 'ag.con@posterdown.net'
+ - name: Person Three
+ affil: 3
+ - name: Person Four
+ affil: 2
+ - name: Person Five
+ affil: 3
+ - name: Person Six
+ affil: 3
+ - name: A. Seventh Author
+ affil: 2
+affiliation:
+ - num: 1
+ address: Department of Earth Science, Brock University
+ - num: 2
+ address: Department of Graphics and Layouts, University of Posters; Canada
+ - num: 3
+ address: Another Institute of a place where work gets done, Earth, Milky Way
+#STYLE & FORMATTING
+title_textsize: "125pt"
+author_textsize: "1.17em"
+authorextra_textsize: "35px"
+affiliation_textsize: "25px"
+affiliation_textcol: '#00000080'
+caption_fontsize: "20pt"
+#Middle of the poster
+middle_fontfamily: "Special Elite"
+middle_textcol: "#FFFFFF90"
+middle_fontsize: "150px"
+main_findings:
+ - "Make **better posters** with RMarkdown + **posterdown**."
+ - "Transition from **poster** to **manuscript** with ease!"
+logoleft_name: "Figures/posterdownlogo.png"
+logocenter_name: "Figures/qr-code-black.png"
+logoright_name: "Figures/posterdownlogo.png"
+#---POSTER BODY OPTIONS---#
+primary_colour: '#0b4545'
+secondary_colour: '#008080'
+accent_colour: "#cc0000"
+body_bgcol: "#ffffff"
+body_textsize: "45px"
+body_textcol: "#000000"
+reference_textsize: "26px"
+#--Standard Options--#
+output:
+ posterdown::posterdown_betterport:
+ self_contained: false
+ pandoc_args: --mathjax
+ highlight: espresso
+ number_sections: false
+bibliography: MyBib.bib
+---
+
+```{r, include=FALSE}
+knitr::opts_chunk$set(results = 'asis', echo = FALSE, comment = FALSE, warning = FALSE,tidy = FALSE, message = FALSE, fig.align = 'center')
+options(knitr.table.format = "html")
+```
+
+# Introduction
+
+This is the `posterdown_betterland` template for the {posterdown} package! I was inspired by the twitter thread of [Mike Morrison](https://mobile.twitter.com/mikemorrison/status/1110191245035479041) and wanted to apply the `#betterposter` concept to the reproducible (yet simple to use) functionality of the {posterdown} package [@thorneposterdown2019]. If you are not an R user don't sweat as you do **NOT** need to use it at all! Feel free to use only the Markdown functionallity of this package :)
+
+HTML documents such as this allow for "live" posters (aka GIFs or embeded videos etc), see Figure \@ref(fig:mymapfig) bellow for an example of a study site map made using the {ggspatial} or Figure \@ref(fig:gganimatefig) for an example using the [{gganimate}](github.com/thomasp85/gganimate) package by [@gganimate2017]. I can even change the order of the figures in the poster and [{posterdown}](github.com/brentthorne/posterdown) will take care of the formatting of Figure numbers for you, see Figure \@ref(fig:mymapfig).
+
+```{r, mymapfig, out.width="100%", cache=FALSE, fig.cap='Map of Long Lake eample from the [ggspatial](https://github.com/paleolimbot/ggspatial) package [@ggspatial].', comment=FALSE}
+library(ggspatial)
+load_longlake_data()
+
+ggplot() +
+ # loads background map tiles from a tile source
+ annotation_map_tile(zoomin = -1) +
+
+ # annotation_spatial() layers don't train the scales, so data stays central
+ annotation_spatial(longlake_roadsdf, size = 2, col = "black") +
+ annotation_spatial(longlake_roadsdf, size = 1.6, col = "white") +
+
+ # raster layers train scales and get projected automatically
+ layer_spatial(longlake_depth_raster, aes(colour = stat(band1))) +
+ # make no data values transparent
+ scale_fill_viridis_c(na.value = NA) +
+
+ # layer_spatial trains the scales
+ layer_spatial(longlake_depthdf, aes(fill = DEPTH_M)) +
+
+ # spatial-aware automagic scale bar
+ annotation_scale(location = "tl") +
+
+ # spatial-aware automagic north arrow
+ annotation_north_arrow(location = "br", which_north = "true")
+```
+
+# Methods
+
+1. Install R and `posterdown`, see [github](github.com/brentthorne/posterdown)
+2. Open the `posterdown_betterland` template
+3. Make all your poster dreams come true!
+
+# Results
+
+```{r,gganimatefig, out.width='80%', cache=TRUE, fig.height=5, fig.align='center', fig.cap='WOW THIS IS AN AWESOME GIF!'}
+
+library(ggplot2)
+library(gganimate)
+library(gapminder)
+
+ggplot(gapminder, aes(gdpPercap,
+ lifeExp,
+ size = pop,
+ colour = country)) +
+ geom_point(alpha = 0.7, show.legend = FALSE) +
+ scale_colour_manual(values = country_colors) +
+ scale_size(range = c(2, 12)) +
+ scale_x_log10() +
+ facet_wrap(~continent) +
+ # Here comes the gganimate specific bits
+ labs(title = 'Year: {frame_time}',
+ x = 'GDP per capita',
+ y = 'life expectancy') +
+ transition_time(year) +
+ ease_aes('linear')
+
+```
+
+```{r, patchworkfig, out.width='90%', fig.height=7, echo=TRUE,fig.cap='Using {ggplot} and {patchwork} to generate a layout of multiple plots in one figure [@patchwork2017].'}
+
+library(tidyverse)
+library(patchwork)
+library(ggthemes)
+
+theme_set(theme_gray() + theme_tufte() +
+ theme(legend.position = "none"))
+
+base <- ggplot(iris, aes(x = Sepal.Length,
+ y = Sepal.Width,
+ colour = Species))
+
+p_point <- base + geom_point()
+p_line <- base + geom_line()
+p_area <- base + geom_area()
+p_box1 <- ggplot(iris) +
+ geom_boxplot(aes(x = Species,
+ y = Sepal.Length,
+ fill = Species))
+
+p_box2 <- ggplot(iris) +
+ geom_boxplot(aes(x = Species,
+ y = Sepal.Width,
+ fill = Species))
+p_line +
+ {p_point + p_box1} +
+ plot_layout(ncol = 1) +
+ plot_annotation(tag_levels = "a",
+ tag_prefix = "(",
+ tag_suffix = ")")
+
+```
+
+## More Figures and Tables
+
+```{r, mytable, fig.align='center', out.width='90%'}
+
+library(knitr)
+library(kableExtra)
+
+dt <- iris[c(1:2,50:51,101:102), 1:5]
+
+kable(dt, caption = 'Here is a caption for the table made with the {kableExtra} package [@kableExtra2019].',align = 'c', col.names = c("Sepal W","Sepal L","Pedal W","Pedal L","Species")) %>%
+ kable_styling(full_width = T) %>%
+ row_spec(0, color = "#fff", background = "#0b454580")
+```
+
+
+A **BIG** thank you to [Romain Leasur](https://twitter.com/RLesur) and [Yihui Xie](https://twitter.com/xieyihui) for their wonderfull work on [{pagedown}](https://github.com/rstudio/pagedown) which had made this poster possible [@pagedown]!
+
+# References
diff --git a/inst/rmarkdown/templates/posterdown_betterport/template.yaml b/inst/rmarkdown/templates/posterdown_betterport/template.yaml
new file mode 100644
index 0000000..9fc207e
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_betterport/template.yaml
@@ -0,0 +1,4 @@
+name: Posterdown HTML
+description: >
+ Template for creating R Markdown based PDF via HTML and CSS
+create_dir: true
diff --git a/inst/rmarkdown/templates/posterdown_html/skeleton/rosm.cache/osm/13_2635_2917.png b/inst/rmarkdown/templates/posterdown_html/skeleton/rosm.cache/osm/13_2635_2917.png
new file mode 100644
index 0000000..b5ece5a
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_html/skeleton/rosm.cache/osm/13_2635_2917.png
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_html/skeleton/rosm.cache/osm/13_2636_2917.png b/inst/rmarkdown/templates/posterdown_html/skeleton/rosm.cache/osm/13_2636_2917.png
new file mode 100644
index 0000000..ede4ba1
--- /dev/null
+++ b/inst/rmarkdown/templates/posterdown_html/skeleton/rosm.cache/osm/13_2636_2917.png
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_html/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/posterdown_html/skeleton/skeleton.Rmd
index 31cdab3..8f690bf 100644
--- a/inst/rmarkdown/templates/posterdown_html/skeleton/skeleton.Rmd
+++ b/inst/rmarkdown/templates/posterdown_html/skeleton/skeleton.Rmd
@@ -111,7 +111,6 @@
kable_styling(full_width = TRUE)
```
-
Look at this animation [@gganimate2017] !!!! Figure \@ref(fig:gganimatefig).
```{r,gganimatefig, out.width='80%', cache=TRUE, fig.align='center', echo=TRUE, fig.cap='WOW THIS IS AN AWESOME GIF!'}
diff --git a/man/posterdown_html.Rd b/man/posterdown_html.Rd
index 8c9f7fe..e2ae67b 100644
--- a/man/posterdown_html.Rd
+++ b/man/posterdown_html.Rd
@@ -3,6 +3,7 @@
\name{posterdown_html}
\alias{posterdown_html}
\alias{posterdown_betterland}
+\alias{posterdown_betterport}
\title{Posterdown HTML format (using bookdown::html_document2)}
\usage{
posterdown_html(..., template = find_resource("posterdown_html",
@@ -11,6 +12,10 @@
posterdown_betterland(...,
template = find_resource("posterdown_betterland", "template.html"),
css = NULL)
+
+posterdown_betterport(...,
+ template = find_resource("posterdown_betterport", "template.html"),
+ css = NULL)
}
\arguments{
\item{...}{Additional arguments to \code{rmarkdown::html_document}}
@@ -26,6 +31,9 @@
\description{
The output format \code{poster_betterland()} mimics the style of the
\dQuote{BetterPoster} movement from twitter.
+
+The output format \code{poster_betterport()} mimics the style of the
+\dQuote{BetterPoster} movement from twitter.
}
\examples{