diff --git a/.RData b/.RData
index 6b5a568..04dea4d 100644
--- a/.RData
+++ b/.RData
Binary files differ
diff --git a/.Rhistory b/.Rhistory
index bd29294..7bb2ca4 100644
--- a/.Rhistory
+++ b/.Rhistory
@@ -6,7 +6,6 @@
 library(posterdown)
 library(posterdown)
 library(posterdown)
-library(posterdown)
 library(ggplot2)
 library(ggspatial)
 library(ggplot2)
@@ -510,3 +509,4 @@
 library(ggthemes)
 rmarkdown::draft("MyJSSArticle.Rmd", template = "packagedown_memoir", package = "posterdown")
 rmarkdown::draft("MyJSSArticle.Rmd", template = "posterdown_memoir", package = "posterdown")
+library(posterdown)
diff --git a/.Rproj.user/5271889B/pcs/source-pane.pper b/.Rproj.user/5271889B/pcs/source-pane.pper
index 3249574..9efb51b 100644
--- a/.Rproj.user/5271889B/pcs/source-pane.pper
+++ b/.Rproj.user/5271889B/pcs/source-pane.pper
@@ -1,3 +1,3 @@
 {
-    "activeTab" : 2
+    "activeTab" : -1
 }
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/pcs/windowlayoutstate.pper b/.Rproj.user/5271889B/pcs/windowlayoutstate.pper
index 39209c8..dd78fba 100644
--- a/.Rproj.user/5271889B/pcs/windowlayoutstate.pper
+++ b/.Rproj.user/5271889B/pcs/windowlayoutstate.pper
@@ -2,7 +2,7 @@
     "left" : {
         "panelheight" : 778,
         "splitterpos" : 323,
-        "topwindowstate" : "NORMAL",
+        "topwindowstate" : "HIDE",
         "windowheight" : 816
     },
     "right" : {
diff --git a/.Rproj.user/5271889B/pcs/workbench-pane.pper b/.Rproj.user/5271889B/pcs/workbench-pane.pper
index b15bf23..3eb507b 100644
--- a/.Rproj.user/5271889B/pcs/workbench-pane.pper
+++ b/.Rproj.user/5271889B/pcs/workbench-pane.pper
@@ -1,6 +1,6 @@
 {
     "TabSet1" : 3,
-    "TabSet2" : 0,
+    "TabSet2" : 3,
     "TabZoom" : {
     }
 }
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/sources/s-602A7A2F/7E40498D b/.Rproj.user/5271889B/sources/s-602A7A2F/7E40498D
deleted file mode 100644
index 05a8568..0000000
--- a/.Rproj.user/5271889B/sources/s-602A7A2F/7E40498D
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    "collab_server" : "",
-    "contents" : "",
-    "created" : 1544106985265.000,
-    "dirty" : false,
-    "encoding" : "UTF-8",
-    "folds" : "",
-    "hash" : "0",
-    "id" : "7E40498D",
-    "lastKnownWriteTime" : 1544107011,
-    "last_content_update" : 1544107011,
-    "path" : "~/GitHub/posterdown/NAMESPACE",
-    "project_path" : "NAMESPACE",
-    "properties" : {
-        "cursorPosition" : "7,0",
-        "scrollLine" : "0"
-    },
-    "relative_order" : 3,
-    "source_on_save" : false,
-    "source_window" : "",
-    "type" : "r_namespace"
-}
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/sources/s-602A7A2F/7E40498D-contents b/.Rproj.user/5271889B/sources/s-602A7A2F/7E40498D-contents
deleted file mode 100644
index d1d9666..0000000
--- a/.Rproj.user/5271889B/sources/s-602A7A2F/7E40498D-contents
+++ /dev/null
@@ -1,7 +0,0 @@
-# Generated by roxygen2: do not edit by hand
-
-import(devtools)
-import(dplyr)
-import(ggplot2)
-import(knitr)
-import(rmarkdown)
diff --git a/.Rproj.user/5271889B/sources/s-602A7A2F/BEEEC247 b/.Rproj.user/5271889B/sources/s-602A7A2F/BEEEC247
deleted file mode 100644
index 553ad77..0000000
--- a/.Rproj.user/5271889B/sources/s-602A7A2F/BEEEC247
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    "collab_server" : "",
-    "contents" : "",
-    "created" : 1544106730829.000,
-    "dirty" : false,
-    "encoding" : "UTF-8",
-    "folds" : "",
-    "hash" : "0",
-    "id" : "BEEEC247",
-    "lastKnownWriteTime" : 1544106697,
-    "last_content_update" : 1544106697,
-    "path" : "~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd",
-    "project_path" : "inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd",
-    "properties" : {
-        "cursorPosition" : "4,37",
-        "scrollLine" : "0"
-    },
-    "relative_order" : 1,
-    "source_on_save" : false,
-    "source_window" : "",
-    "type" : "r_markdown"
-}
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/sources/s-602A7A2F/BEEEC247-contents b/.Rproj.user/5271889B/sources/s-602A7A2F/BEEEC247-contents
deleted file mode 100644
index 07115ef..0000000
--- a/.Rproj.user/5271889B/sources/s-602A7A2F/BEEEC247-contents
+++ /dev/null
@@ -1,126 +0,0 @@
----
-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/s-602A7A2F/FA377D4B b/.Rproj.user/5271889B/sources/s-602A7A2F/FA377D4B
deleted file mode 100644
index 6f9fab9..0000000
--- a/.Rproj.user/5271889B/sources/s-602A7A2F/FA377D4B
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    "collab_server" : "",
-    "contents" : "",
-    "created" : 1544106958502.000,
-    "dirty" : false,
-    "encoding" : "UTF-8",
-    "folds" : "",
-    "hash" : "0",
-    "id" : "FA377D4B",
-    "lastKnownWriteTime" : 1544106981,
-    "last_content_update" : 1544106981793,
-    "path" : "~/GitHub/posterdown/DESCRIPTION",
-    "project_path" : "DESCRIPTION",
-    "properties" : {
-        "cursorPosition" : "1,31",
-        "scrollLine" : "0"
-    },
-    "relative_order" : 2,
-    "source_on_save" : false,
-    "source_window" : "",
-    "type" : "dcf"
-}
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/sources/s-602A7A2F/FA377D4B-contents b/.Rproj.user/5271889B/sources/s-602A7A2F/FA377D4B-contents
deleted file mode 100644
index 9b27e89..0000000
--- a/.Rproj.user/5271889B/sources/s-602A7A2F/FA377D4B-contents
+++ /dev/null
@@ -1,18 +0,0 @@
-Package: posterdown
-Title: Generates PDF conference posters using R Markdown.
-Version: 0.1.0
-Author: Brent Thorne
-Description: Posterdown expands on RMarkdown to generate PDF conference posters.
-Maintainer: Brent Thorne <brent.thorne18@gmail.com>
-License: MIT + file LICENSE
-Encoding: UTF-8
-LazyData: true
-Imports: utils, rmarkdown, knitr, yaml, tinytex, xfun
-Depends:
-    R (>= 3.3.0),
-    devtools,
-    dplyr,
-    ggplot2,
-    rmarkdown,
-    knitr
-RoxygenNote: 6.1.0.9000
diff --git a/.Rproj.user/5271889B/sources/s-602A7A2F/lock_file b/.Rproj.user/5271889B/sources/s-602A7A2F/lock_file
deleted file mode 100644
index e69de29..0000000
--- a/.Rproj.user/5271889B/sources/s-602A7A2F/lock_file
+++ /dev/null
diff --git a/.Rproj.user/shared/notebooks/paths b/.Rproj.user/shared/notebooks/paths
index f5d11f3..a39694d 100644
--- a/.Rproj.user/shared/notebooks/paths
+++ b/.Rproj.user/shared/notebooks/paths
@@ -1,2 +1,4 @@
+C:/Users/Brent Thorne/Documents/GitHub/posterdown/DESCRIPTION="F3DEB317"
+C:/Users/Brent Thorne/Documents/GitHub/posterdown/NAMESPACE="9BC06DB0"
 C:/Users/Brent Thorne/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/resources/template.tex="AAB70749"
 C:/Users/Brent Thorne/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.Rmd="354EF6B8"
