diff --git a/.Rhistory b/.Rhistory
index 6a9b461..e8e68bc 100644
--- a/.Rhistory
+++ b/.Rhistory
@@ -1,6 +1,3 @@
-library(posterdown)
-par(mfrow=c(1,2))
-plot(rnorm(20))
 plot(cars)
 par(mfrow=c(2,1))
 plot(rnorm(20))
@@ -510,3 +507,6 @@
 library(posterdown)
 library(posterdown)
 library(posterdown)
+library(posterdown)
+library(posterdown)
+library(posterdown)
diff --git a/.Rproj.user/5271889B/pcs/files-pane.pper b/.Rproj.user/5271889B/pcs/files-pane.pper
index 0a64530..5a5ac98 100644
--- a/.Rproj.user/5271889B/pcs/files-pane.pper
+++ b/.Rproj.user/5271889B/pcs/files-pane.pper
@@ -1,5 +1,5 @@
 {
-    "path" : "~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir",
+    "path" : "~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton",
     "sortOrder" : [
         {
             "ascending" : false,
diff --git a/.Rproj.user/5271889B/pcs/source-pane.pper b/.Rproj.user/5271889B/pcs/source-pane.pper
index 70829f6..1743e40 100644
--- a/.Rproj.user/5271889B/pcs/source-pane.pper
+++ b/.Rproj.user/5271889B/pcs/source-pane.pper
@@ -1,3 +1,3 @@
 {
-    "activeTab" : 1
+    "activeTab" : 0
 }
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/persistent-state b/.Rproj.user/5271889B/persistent-state
index 9773417..94cac94 100644
--- a/.Rproj.user/5271889B/persistent-state
+++ b/.Rproj.user/5271889B/persistent-state
@@ -1,6 +1,6 @@
 build-last-errors="[]"
 build-last-errors-base-dir="~/GitHub/posterdown/"
-build-last-outputs="[{\"output\":\"==> devtools::document(roclets=c('rd', 'collate', 'namespace'))\\n\\n\",\"type\":0},{\"output\":\"Updating posterdown documentation\\r\\n\",\"type\":2},{\"output\":\"Writing NAMESPACE\\r\\n\",\"type\":1},{\"output\":\"Loading posterdown\\r\\n\",\"type\":2},{\"output\":\"Writing NAMESPACE\\r\\n\",\"type\":1},{\"output\":\"Documentation completed\\n\\n\",\"type\":1},{\"output\":\"==> Rcmd.exe INSTALL --preclean --no-multiarch --with-keep.source posterdown\\n\\n\",\"type\":0},{\"output\":\"* installing to library 'C:/Users/Brent Thorne/Documents/R/win-library/3.5'\\r\\n\",\"type\":1},{\"output\":\"* installing *source* package 'posterdown' ...\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** R\\r\\n\",\"type\":1},{\"output\":\"** inst\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** byte-compile and prepare package for lazy loading\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** help\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"  converting help for package 'posterdown'\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"*** installing help indices\\r\\n\",\"type\":1},{\"output\":\"    finding HTML links ...\",\"type\":1},{\"output\":\"    posterdown                              html  \\r\\n\",\"type\":1},{\"output\":\"    posterdown_memoir                       html  \\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\" done\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** building package indices\\r\\n\",\"type\":1},{\"output\":\"** testing if installed package can be loaded\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"* DONE (posterdown)\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"In R CMD INSTALL\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1}]"
+build-last-outputs="[{\"output\":\"==> devtools::document(roclets=c('rd', 'collate', 'namespace'))\\n\\n\",\"type\":0},{\"output\":\"Updating posterdown documentation\\r\\n\",\"type\":2},{\"output\":\"Writing NAMESPACE\\r\\n\",\"type\":1},{\"output\":\"Loading posterdown\\r\\n\",\"type\":2},{\"output\":\"Writing NAMESPACE\\r\\n\",\"type\":1},{\"output\":\"Documentation completed\\n\\n\",\"type\":1},{\"output\":\"==> Rcmd.exe INSTALL --preclean --no-multiarch --with-keep.source posterdown\\n\\n\",\"type\":0},{\"output\":\"* installing to library 'C:/Users/Brent Thorne/Documents/R/win-library/3.5'\\r\\n\",\"type\":1},{\"output\":\"* installing *source* package 'posterdown' ...\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** R\\r\\n\",\"type\":1},{\"output\":\"** inst\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** byte-compile and prepare package for lazy loading\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** help\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"*** installing help indices\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"  converting help for package 'posterdown'\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"    finding HTML links ...\",\"type\":1},{\"output\":\"    posterdown                              html  \\r\\n\",\"type\":1},{\"output\":\"    posterdown_memoir                       html  \\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\" done\\r\\n\",\"type\":1},{\"output\":\"** building package indices\\r\\n\",\"type\":1},{\"output\":\"** testing if installed package can be loaded\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"* DONE (posterdown)\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"In R CMD INSTALL\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1}]"
 compile_pdf_state="{\"errors\":[],\"output\":\"\",\"running\":false,\"tab_visible\":false,\"target_file\":\"\"}"
 files.monitored-path=""
 find-in-files-state="{\"handle\":\"\",\"input\":\"\",\"path\":\"\",\"regex\":true,\"results\":{\"file\":[],\"line\":[],\"lineValue\":[],\"matchOff\":[],\"matchOn\":[]},\"running\":false}"
diff --git a/.Rproj.user/5271889B/sources/per/t/76D8725 b/.Rproj.user/5271889B/sources/per/t/76D8725
new file mode 100644
index 0000000..530ff82
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/per/t/76D8725
@@ -0,0 +1,22 @@
+{
+    "collab_server" : "",
+    "contents" : "",
+    "created" : 1544161898648.000,
+    "dirty" : false,
+    "encoding" : "UTF-8",
+    "folds" : "",
+    "hash" : "4107327377",
+    "id" : "76D8725",
+    "lastKnownWriteTime" : 1544111098,
+    "last_content_update" : 1544111098,
+    "path" : "~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd",
+    "project_path" : "inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd",
+    "properties" : {
+        "cursorPosition" : "17,176",
+        "scrollLine" : "14"
+    },
+    "relative_order" : 3,
+    "source_on_save" : false,
+    "source_window" : "",
+    "type" : "r_markdown"
+}
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/sources/per/t/76D8725-contents b/.Rproj.user/5271889B/sources/per/t/76D8725-contents
new file mode 100644
index 0000000..07115ef
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/per/t/76D8725-contents
@@ -0,0 +1,126 @@
+---
+title: 'Using \color{Red} `posterdown` \color{White} to generate reproducible conference posters via RMarkdown > Knitr > Markdown > Pandoc > Latex > PDF workflow as well as long titles...'
+author: "Brent Thorne"
+bibliography: MyLibrary
+output: posterdown::posterdown_memoir
+---
+
+```{r, include=FALSE}
+knitr::opts_chunk$set(echo = FALSE, results = 'asis',fig.height = 3.5, fig.width = 4.5, out.width = "100%", warning = FALSE, fig.align = 'center', message = FALSE, dev='cairo_pdf')
+```
+
+# Introduction
+
+Welcome to `posterdown` ! This is my attempt to provide a semi-smooth workflow for those who wish to take their `RMarkdown` skills to the conference world. Many creature comforts frim `RMarkdown` are available in this package such as `Markdown` section notation, figure captioning, and even citations like this one [@holden_identifying_2012] The rest of this example poster will show how you can insert typical conference poster features into your own document. 
+
+# Study Site
+
+Here is a map made to show the study site using `ggplot2`, `ggspatial`, and `sf`. Lorem ipsum dolor sit amet, [@middleton_geological_nodate] consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Phasellus vestibulum lorem sed risus ultricies tristique nulla. Mauris vitae ultricies leo integer malesuada nunc vel risus commodo. Suspendisse potenti nullam ac tortor vitae. Enim nunc faucibus a pellentesque sit amet porttitor eget.  \vspace{15mm}
+
+```{r, fig.width=4.5, out.width="80%", fig.cap='This is a map of Canada, the ggspatial package is great for GIS folks in R!', cache=TRUE}
+library(ggplot2)
+library(ggspatial)
+library(ggthemes)
+library(sf)
+
+canada <- read_sf("data/Canada.geojson")
+
+
+ggplot() +
+  ggspatial::layer_spatial(canada, fill = "grey") +
+  ggspatial::annotation_north_arrow(location = "br", which_north = "true", style = north_arrow_nautical()) +
+  coord_sf() +
+  theme_solarized() +
+  NULL
+
+```
+
+
+# Objectives
+
+\large
+
+1. Easy to use reproducible poster design. 
+2. Integration with `RMarkdown`.
+3. Easy transition from `posterndown` to `thesisdown` or `rticles`
+
+\small
+
+# Methods
+
+This package uses the same workflow approach as the `RMarkdown` you know and love. Basically it goes from RMarkdown > Knitr > Markdown > Pandoc > Latex > PDF
+
+# Results
+
+```{r}
+library(kableExtra)
+library(ggplot2)
+
+data("iris")
+
+kable(iris[1:4,],align = "c", caption = "Tables are a breeze with Kable and Kable extra package!", booktabs = T) %>% 
+  kable_styling(latex_options = "striped")
+
+```
+
+\vspace{1in}
+
+```{r, out.width='75%', fig.width=4, fig.height=3, fig.cap='A typical plot using ggplot using the classic iris dataset.'}
+
+library(ggplot2)
+library(ggthemes)
+
+ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) +
+  geom_point() +
+  theme_fivethirtyeight() +
+  labs(x = "Sepal Length", y = "Sepeal Width") +
+  NULL
+
+```
+
+\vspace{1in}
+
+```{r, out.width='85%', fig.width=4.5, fig.height=4, fig.cap='Another typical plot using ggplot, this time with a different theme and r code chunk options for fig.width and fig.height.'}
+
+library(ggplot2)
+library(ggthemes)
+
+ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) +
+  geom_point() +
+  theme_hc() +
+  labs(x = "Sepal Length", y = "Sepeal Width") +
+  NULL
+
+```
+
+\vspace{1in}
+
+```{r, out.width='80%', fig.width=4.5, fig.align='center', echo=TRUE, fig.height=5, fig.cap='Another figure showing how base R plots might look on this poster!'}
+
+# Here is some code for people
+# to look at and be in awe of!!!!
+library(ggplot2)
+library(ggthemes)
+
+ggplot(data=iris,
+       aes(x = Sepal.Width,
+           y = Sepal.Length,
+           colour = Species)) +
+  geom_point() +
+  theme_stata() +
+  NULL
+
+```
+
+
+# Next Steps
+
+There is still **A LOT** of work to do on this package which include (but are note limited to): 
+
+- Better softcoding for front end user options in YAML such as `posterwidth: 45in`.
+- Images in the title section for logo placement which is a common attribut to posters as far as I have come to know.
+- Figure out compatiability with `natbib` which wasn't working during the initial set up.
+- MUCH BETTER PACKAGE DOCUMENTATION. For example, there is nothing in the README...
+- Include References section only if initiated by the user like in RMarkdown.
+
+\small
diff --git a/.Rproj.user/5271889B/sources/per/t/950DD430 b/.Rproj.user/5271889B/sources/per/t/950DD430
index 2a99fed..62d224e 100644
--- a/.Rproj.user/5271889B/sources/per/t/950DD430
+++ b/.Rproj.user/5271889B/sources/per/t/950DD430
@@ -5,15 +5,15 @@
     "dirty" : false,
     "encoding" : "UTF-8",
     "folds" : "",
-    "hash" : "2993177172",
+    "hash" : "3064033996",
     "id" : "950DD430",
-    "lastKnownWriteTime" : 1544125071,
-    "last_content_update" : 1544125071262,
+    "lastKnownWriteTime" : 1544161977,
+    "last_content_update" : 1544161977218,
     "path" : "~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/resources/template.tex",
     "project_path" : "inst/rmarkdown/templates/posterdown_memoir/resources/template.tex",
     "properties" : {
-        "cursorPosition" : "165,6",
-        "scrollLine" : "153"
+        "cursorPosition" : "164,23",
+        "scrollLine" : "149"
     },
     "relative_order" : 1,
     "source_on_save" : false,
diff --git a/.Rproj.user/5271889B/sources/per/t/950DD430-contents b/.Rproj.user/5271889B/sources/per/t/950DD430-contents
index 03d94b1..9f6c8ae 100644
--- a/.Rproj.user/5271889B/sources/per/t/950DD430-contents
+++ b/.Rproj.user/5271889B/sources/per/t/950DD430-contents
@@ -162,7 +162,7 @@
 \end{mdframed}
 
 % Brgin body of poster
-\begin{adjmulticols*}{3}{10mm}{10mm}
+\begin{adjmulticols*}{4}{10mm}{10mm}
 \small{
 \color{black}
 $body$
diff --git a/.Rproj.user/5271889B/sources/prop/FA5E3F8 b/.Rproj.user/5271889B/sources/prop/FA5E3F8
index a662063..293766f 100644
--- a/.Rproj.user/5271889B/sources/prop/FA5E3F8
+++ b/.Rproj.user/5271889B/sources/prop/FA5E3F8
@@ -1,4 +1,4 @@
 {
-    "cursorPosition" : "17,427",
+    "cursorPosition" : "17,176",
     "scrollLine" : "14"
 }
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/sources/prop/FDA71E49 b/.Rproj.user/5271889B/sources/prop/FDA71E49
index 8674fcd..b928d57 100644
--- a/.Rproj.user/5271889B/sources/prop/FDA71E49
+++ b/.Rproj.user/5271889B/sources/prop/FDA71E49
@@ -1,4 +1,4 @@
 {
-    "cursorPosition" : "165,6",
-    "scrollLine" : "153"
+    "cursorPosition" : "164,23",
+    "scrollLine" : "149"
 }
\ No newline at end of file
diff --git a/exampleposter.pdf b/exampleposter.pdf
new file mode 100644
index 0000000..6fbabbe
--- /dev/null
+++ b/exampleposter.pdf
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_memoir/resources/template.tex b/inst/rmarkdown/templates/posterdown_memoir/resources/template.tex
index 03d94b1..9f6c8ae 100644
--- a/inst/rmarkdown/templates/posterdown_memoir/resources/template.tex
+++ b/inst/rmarkdown/templates/posterdown_memoir/resources/template.tex
@@ -162,7 +162,7 @@
 \end{mdframed}
 
 % Brgin body of poster
-\begin{adjmulticols*}{3}{10mm}{10mm}
+\begin{adjmulticols*}{4}{10mm}{10mm}
 \small{
 \color{black}
 $body$
