diff --git a/.Rproj.user/5271889B/sources/s-49FF7C21/1ED1315-contents b/.Rproj.user/5271889B/sources/s-49FF7C21/1ED1315-contents
new file mode 100644
index 0000000..e91a6a4
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/s-49FF7C21/1ED1315-contents
@@ -0,0 +1,18 @@
+language: r
+cache:
+  packages: true
+  directories:
+    - $HOME/.TinyTeX
+latex: false
+
+env:
+  global:
+    - _R_CHECK_TESTS_NLINES_=0 PATH=$HOME/bin:$PATH
+
+addons:
+  apt:
+    packages:
+    - ghostscript
+
+before_install:
+  - wget -qO- https://github.com/yihui/tinytex/raw/master/tools/download-travis-linux.sh | sh
diff --git a/.Rproj.user/5271889B/sources/s-49FF7C21/623B11B8-contents b/.Rproj.user/5271889B/sources/s-49FF7C21/623B11B8-contents
new file mode 100644
index 0000000..0322602
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/s-49FF7C21/623B11B8-contents
@@ -0,0 +1,14 @@
+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
+URL: https://github.com/brentthorne/posterdown
+BugReports: https://github.com/brentthorne/posterdown/issues
+Imports: utils, rmarkdown, knitr, yaml, tinytex, xfun, ggplot2, rticles, kableExtra, Cairo, ggthemes, ggspatial 
+SystemRequirements: GNU make
+RoxygenNote: 6.1.1
diff --git a/.Rproj.user/5271889B/sources/s-49FF7C21/76D8725-contents b/.Rproj.user/5271889B/sources/s-49FF7C21/76D8725-contents
new file mode 100644
index 0000000..07115ef
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/s-49FF7C21/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/s-49FF7C21/90E44B40-contents b/.Rproj.user/5271889B/sources/s-49FF7C21/90E44B40-contents
new file mode 100644
index 0000000..c2ebc68
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/s-49FF7C21/90E44B40-contents
@@ -0,0 +1,4 @@
+name: Posterdown Memoir L38 X W45 PDF
+description: >
+ Template for creating R Markdown based PDF via Latex and Memoir
+create_dir: true
diff --git a/.Rproj.user/5271889B/sources/s-49FF7C21/950DD430-contents b/.Rproj.user/5271889B/sources/s-49FF7C21/950DD430-contents
new file mode 100644
index 0000000..9f6c8ae
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/s-49FF7C21/950DD430-contents
@@ -0,0 +1,173 @@
+%brent's poster layout :)
+
+\documentclass[article,30pt,extrafontsizes]{memoir}
+
+%utf-8 seems to be important
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{multicol}
+\usepackage{graphicx}
+\usepackage{blindtext}
+\usepackage[svgnames,table]{xcolor}
+\usepackage[framemethod=tikz]{mdframed}
+\usepackage{color}
+\usepackage{geometry}
+\usepackage{adjmulticol}
+
+%For kable extra package :)
+\usepackage{booktabs}
+\usepackage{longtable}
+\usepackage{array}
+\usepackage{multirow}
+\usepackage{wrapfig}
+\usepackage{float}
+\usepackage{colortbl}
+\usepackage{pdflscape}
+\usepackage{tabu}
+\usepackage{threeparttable}
+\usepackage{threeparttablex}
+\usepackage[normalem]{ulem}
+\usepackage{makecell}
+
+\usepackage{hyperref}
+\hypersetup{
+    colorlinks=true,
+    linkcolor=blue,
+    citecolor=red,
+    filecolor=magenta,
+    urlcolor=cyan,
+}
+
+
+%For figure and table placement
+\usepackage{float}
+\floatplacement{figure}{H}
+\floatplacement{table}{H}
+
+%spacing between figure/ table and caption
+\setlength{\abovecaptionskip}{0.4in}
+\setlength{\belowcaptionskip}{0.2in}
+\captionnamefont{\footnotesize\sffamily\bfseries}
+\captiontitlefont{\footnotesize\sffamily}
+
+%define column options
+\setlength{\columnseprule}{1pt}
+\def\columnseprulecolor{\color{red}}
+\setsubsubsecheadstyle{\small\color{red}\textbf}% Set \section style
+\setsecheadstyle{\small\color{red}}
+\setsecnumformat{}
+\def\sectionmark#1{\markboth{#1}{#1}}
+
+%-----------------------------------------------------
+
+\thispagestyle{empty}
+\definecolor{light-gray}{gray}{0.9}
+
+%biblatex options
+\usepackage[sorting=none,backend=biber]{biblatex}
+\renewcommand*{\bibfont}{\tiny}
+\bibliography{$bibliography$}
+\defbibheading{bibliography}[\bibname]{%
+\section*{#1}%
+\markboth{#1}{#1}}
+\AtBeginDocument{%
+  \renewcommand{\bibname}{References}
+}
+
+%bring in the users information
+\author{$author$}
+\title{$title$}
+\counterwithout{section}{chapter}
+\makechapterstyle{mydefault}{
+\addtocounter{secnumdepth}{2}
+\setsecheadstyle{\Large\color{red}\textbf}
+\setsubsecheadstyle{\itshape}
+\setsubsubsecheadstyle{\itshape}
+}
+
+\chapterstyle{mydefault}
+
+%define column spacing
+\setlength\columnsep{1in}
+
+\setlength\parindent{1em}
+\setlength\parskip{1em}
+\setlength\hangparas{0}
+
+%spacing after section head title
+\setaftersecskip{0.3in}
+\setbeforesecskip{1in}
+\setlength\textfloatsep{0.3in}
+\setlength\floatsep{0.3in}
+\setlength\intextsep{0.3in}
+
+\setstocksize{38in}{45in}
+\settrimmedsize{\stockheight}{\stockwidth}{*}
+\settypeblocksize{38in}{45in}{*}
+\setlrmargins{*}{*}{1}
+\setulmarginsandblock{2.5cm}{*}{*}
+\setmarginnotes{0em}{0cm}{0cm}
+\setlength{\footskip}{0cm}
+\setlength{\footnotesep}{0cm}
+\setlength{\headheight}{0pt}
+\setlength{\headsep}{0pt}
+\setlength{\trimtop}{0pt}
+\setlength{\trimedge}{0pt}
+\setlength{\uppermargin}{0pt}
+\checkandfixthelayout
+
+\definecolor{myframecolour}{HTML}{00004d}
+
+\mdfdefinestyle{brentsmdfstyle}{%
+  backgroundcolor=myframecolour,
+  linecolor=Red,
+  topline=false,
+  leftline=false,
+  rightline=false,
+  linewidth=2mm,
+  settings={\definecolor{linkcolor}{RGB}{255,255,255}}}
+
+%Footnote to white
+\usepackage{footmisc}
+\def\footnotelayout{\centering\color{white}}
+
+% see https://stackoverflow.com/a/47122900
+$if(highlighting-macros)$
+$highlighting-macros$
+$endif$
+
+\usepackage{palatino}
+\renewcommand*\familydefault{\sfdefault}
+
+%begin the document
+\begin{document}
+
+\begin{mdframed}[style=brentsmdfstyle]
+%sets footnote to be white hoprefully
+\renewcommand\footnoterule{}
+\renewcommand{\thempfootnote}{\footnotesize\color{red}{\arabic{mpfootnote}}}
+
+% group which adds title author and other infor
+% Used instead of \maketitle for better spacing options
+\begingroup
+  \centering
+  \color{White}
+\vspace{0.5in}
+  \Huge{\textbf{$title$}} \\[0.3in]
+  \color{cyan} \Large{\textbf{$author$}} \par
+  \vspace{0.2in}
+
+% end title section -------------------
+  \endgroup
+\end{mdframed}
+
+% Brgin body of poster
+\begin{adjmulticols*}{4}{10mm}{10mm}
+\small{
+\color{black}
+$body$
+\printbibliography
+}
+\end{adjmulticols*}
+%end the poster
+\end{document}
diff --git a/.Rproj.user/5271889B/sources/s-49FF7C21/E984FFD8-contents b/.Rproj.user/5271889B/sources/s-49FF7C21/E984FFD8-contents
new file mode 100644
index 0000000..448b9ce
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/s-49FF7C21/E984FFD8-contents
@@ -0,0 +1,8 @@
+# Generated by roxygen2: do not edit by hand
+
+export(posterdown_pdf)
+import(devtools)
+import(dplyr)
+import(ggplot2)
+import(knitr)
+import(rmarkdown)
diff --git a/.Rproj.user/5271889B/sources/s-49FF7C21/lock_file b/.Rproj.user/5271889B/sources/s-49FF7C21/lock_file
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/s-49FF7C21/lock_file
