diff --git a/.Rproj.user/5271889B/pcs/source-pane.pper b/.Rproj.user/5271889B/pcs/source-pane.pper
index 9efb51b..70829f6 100644
--- a/.Rproj.user/5271889B/pcs/source-pane.pper
+++ b/.Rproj.user/5271889B/pcs/source-pane.pper
@@ -1,3 +1,3 @@
 {
-    "activeTab" : -1
+    "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 dd78fba..4273adb 100644
--- a/.Rproj.user/5271889B/pcs/windowlayoutstate.pper
+++ b/.Rproj.user/5271889B/pcs/windowlayoutstate.pper
@@ -1,8 +1,8 @@
 {
     "left" : {
         "panelheight" : 778,
-        "splitterpos" : 323,
-        "topwindowstate" : "HIDE",
+        "splitterpos" : 322,
+        "topwindowstate" : "NORMAL",
         "windowheight" : 816
     },
     "right" : {
diff --git a/.Rproj.user/5271889B/persistent-state b/.Rproj.user/5271889B/persistent-state
index db3350e..6faf6ec 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\":\"Writing NAMESPACE\\r\\n\",\"type\":1},{\"output\":\"Updating posterdown documentation\\r\\n\",\"type\":2},{\"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\":\"\",\"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_pdf                          html  \\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\" done\\r\\n\",\"type\":1},{\"output\":\"** building package indices\\r\\n\",\"type\":1},{\"output\":\"\",\"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\":\"Writing NAMESPACE\\r\\n\",\"type\":1},{\"output\":\"Updating posterdown documentation\\r\\nLoading 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\":\"*** installing help indices\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"  converting help for package 'posterdown'\\r\\n\",\"type\":1},{\"output\":\"    posterdown                              html  \\r\\n\",\"type\":1},{\"output\":\"    posterdown_pdf                          html  \",\"type\":1},{\"output\":\"    finding HTML links ... done\\r\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"\\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\":\"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/rmd-outputs b/.Rproj.user/5271889B/rmd-outputs
index 4ce2634..f2c4526 100644
--- a/.Rproj.user/5271889B/rmd-outputs
+++ b/.Rproj.user/5271889B/rmd-outputs
@@ -1,7 +1,7 @@
-~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.pdf
-~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.pdf
-~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.pdf
-~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_memoir/skeleton/skeleton.pdf
+~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.pdf
+~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.pdf
+~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.pdf
+~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.pdf
 
 
 
diff --git a/.Rproj.user/5271889B/sources/per/t/120038C b/.Rproj.user/5271889B/sources/per/t/120038C
new file mode 100644
index 0000000..032df4b
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/per/t/120038C
@@ -0,0 +1,22 @@
+{
+    "collab_server" : "",
+    "contents" : "",
+    "created" : 1547064268927.000,
+    "dirty" : false,
+    "encoding" : "UTF-8",
+    "folds" : "",
+    "hash" : "1590817767",
+    "id" : "120038C",
+    "lastKnownWriteTime" : 1547083921,
+    "last_content_update" : 1547083921194,
+    "path" : "~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_pdf/resources/template.tex",
+    "project_path" : "inst/rmarkdown/templates/posterdown_pdf/resources/template.tex",
+    "properties" : {
+        "cursorPosition" : "60,37",
+        "scrollLine" : "40"
+    },
+    "relative_order" : 3,
+    "source_on_save" : false,
+    "source_window" : "",
+    "type" : "tex"
+}
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/sources/per/t/120038C-contents b/.Rproj.user/5271889B/sources/per/t/120038C-contents
new file mode 100644
index 0000000..ab4ee4d
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/per/t/120038C-contents
@@ -0,0 +1,204 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%	Posterdown PDF class for LaTeX files	 08-JAN-2019
+%% %%	For any information please send an e-mail to:
+%% %%		brentthonre18@gmail.com (Brent Thorne)
+%% %%
+%% %%	Initial class provided by:
+%% %%		Brent Thorne
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\documentclass[article,$font_size$,extrafontsizes]{memoir}
+
+%utf-8 seems to be important
+\RequirePackage[utf8]{inputenc}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{lmodern}
+\RequirePackage{multicol}
+\RequirePackage{graphicx}
+\RequirePackage{blindtext}
+\RequirePackage[svgnames,table]{xcolor}
+\RequirePackage{tikz}
+\RequirePackage[framemethod=tikz]{mdframed}
+\RequirePackage{color}
+\RequirePackage{geometry}
+\RequirePackage{adjmulticol}
+
+%For kable extra package :)
+\RequirePackage{booktabs}
+\RequirePackage{longtable}
+\RequirePackage{array}
+\RequirePackage{multirow}
+\RequirePackage{wrapfig}
+\RequirePackage{float}
+\RequirePackage{colortbl}
+\RequirePackage{pdflscape}
+\RequirePackage{pagecolor}
+\RequirePackage{tabu}
+\RequirePackage{threeparttable}
+\RequirePackage{threeparttablex}
+\RequirePackage[normalem]{ulem}
+\RequirePackage{makecell}
+
+%%%%%%%%% COLOURS %%%%%%%%
+
+%Fill/ Line Colours
+\definecolor{titlebgcol}{HTML}{$title_bgcol$}
+\definecolor{columnlinecol}{HTML}{$columnline_col$}
+\definecolor{posterbgcol}{HTML}{$poster_bgcol$}
+\definecolor{headerbgcol}{HTML}{$header_bgcol$}
+
+% Text Colours
+\definecolor{titletextcol}{HTML}{$title_textcol$}
+\definecolor{authortextcol}{HTML}{$author_textcol$}
+\definecolor{affiliationtextcol}{HTML}{$affiliation_textcol$}
+\definecolor{headertextcol}{HTML}{$header_textcol$}
+\definecolor{bodytextcol}{HTML}{$body_textcol$}
+\definecolor{footnotetextcol}{HTML}{$footnote_textcol$}
+\definecolor{citecol}{HTML}{$cite_col$}
+\definecolor{urlcol}{HTML}{$url_col$}
+\definecolor{linkcol}{HTML}{$link_col$}
+
+\newcommand*{\myfont}{\fontfamily{qag}\selectfont}
+
+\RequirePackage{hyperref}
+\hypersetup{
+    colorlinks=true,
+    linkcolor=linkcol,
+    citecolor=citecol,
+    filecolor=magenta,
+    urlcolor=urlcol,
+}
+
+%For figure and table placement
+\RequirePackage{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{columnlinecol}}
+
+\setsubsubsecheadstyle{\small\color{headertextcol}\textbf}% Set \section style
+\setsecheadstyle{\small\color{headertextcol}}
+\setsecnumformat{}
+\def\sectionmark#1{\markboth{#1}{#1}}
+
+%-----------------------------------------------------
+
+\thispagestyle{empty}
+\definecolor{light-gray}{gray}{0.9}
+
+%biblatex options
+\RequirePackage[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{\centering\Large\color{headertextcol}\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{$poster_height$}{$poster_width$}
+\settrimmedsize{\stockheight}{\stockwidth}{*}
+\settypeblocksize{$poster_height$}{$poster_width$}{*}
+\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
+
+\mdfdefinestyle{brentsmdfstyle}{%
+  backgroundcolor=titlebgcol,
+  linecolor=columnlinecol,
+  topline=false,
+  leftline=false,
+  rightline=false,
+  linewidth=2mm}
+
+%Footnote to white
+\RequirePackage{footmisc}
+\def\footnotelayout{\centering\color{footnotetextcol}}
+
+% see https://stackoverflow.com/a/47122900
+$if(highlighting-macros)$
+$highlighting-macros$
+$endif$
+
+% choose font family
+\RequirePackage{$font_family$}
+
+\newpagecolor{posterbgcol}
+
+%begin the document
+\begin{document}
+
+\begin{mdframed}[style=brentsmdfstyle]
+
+%sets footnote to be white hopefully
+\renewcommand\footnoterule{}
+\renewcommand{\thempfootnote}{\footnotesize\color{footnotetextcol}{\arabic{mpfootnote}}}
+
+% group which adds title author and other infor
+% Used instead of \maketitle for better spacing options
+\begingroup
+  \centering
+  \color{titletextcol}
+\vspace{0.5in}
+  {\myfont \Huge{$title$}}  \\[0.3in]
+  \color{authortextcol} \Large{$author$} \\[0.2in]
+  \color{affiliationtextcol} \large{$affiliation$} \par
+  \vspace{0.2in}
+
+% end title section -------------------
+  \endgroup
+\end{mdframed}
+
+% Brgin body of poster
+\begin{adjmulticols*}{$column_numbers$}{10mm}{10mm}
+\normalsize{
+\color{bodytextcol}
+$body$
+}
+\end{adjmulticols*}
+%end the poster
+\end{document}
diff --git a/.Rproj.user/5271889B/sources/per/t/C0008ADF b/.Rproj.user/5271889B/sources/per/t/C0008ADF
new file mode 100644
index 0000000..276d583
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/per/t/C0008ADF
@@ -0,0 +1,22 @@
+{
+    "collab_server" : "",
+    "contents" : "",
+    "created" : 1547050227227.000,
+    "dirty" : false,
+    "encoding" : "UTF-8",
+    "folds" : "",
+    "hash" : "527242796",
+    "id" : "C0008ADF",
+    "lastKnownWriteTime" : 1547079598,
+    "last_content_update" : 1547079598273,
+    "path" : "~/GitHub/posterdown/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.Rmd",
+    "project_path" : "inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.Rmd",
+    "properties" : {
+        "cursorPosition" : "78,9",
+        "scrollLine" : "61"
+    },
+    "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/per/t/C0008ADF-contents b/.Rproj.user/5271889B/sources/per/t/C0008ADF-contents
new file mode 100644
index 0000000..5899411
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/per/t/C0008ADF-contents
@@ -0,0 +1,161 @@
+---
+#----ESSENTIALS----#
+title: 'Using `posterdown` to generate reproducible conference posters via RMarkdown > Knitr > Markdown > Pandoc > Latex > PDF workflow'
+author: "Author One^1^ Author Two^2^"
+affiliation: "^1^Department of Poster Layouts, University of Markdown; ^2^Deparment of Another Institution, Institution University"
+
+#----FONT STYLE----#
+font_size: "30pt" #sets '\normalsize' (sizes of the title and sections headings will adjust based on it)
+font_family: "palatino" # choose from typical latex fonts (example: "palatino")
+
+
+#----COLOURS----#
+
+#Background/ Line Colours
+title_bgcol: "0b4545"  #Hex colour for background of poster title section (default is blue)
+poster_bgcol: "ffffff" #colour of the poster main background
+cite_col: "CC0000" #colour of ciation elements
+url_col: "008080" #colour of url links
+link_col: "008080" #colour of other links within the poster
+columnline_col: "0b4545" #colour 
+header_bgcol: "008080"
+
+#Text Colours
+title_textcol: "ffffff" #colour of title text
+author_textcol: "008080" # Colour of author text
+affiliation_textcol: "FFFFFF" # Colour of affiliation text
+body_textcol: "000000" # Colour of main text in the body of poster
+header_textcol: "CC0000" # Colour of the poster header titles
+footnote_textcol: "FFFFFF" # Colour of footnote text if used
+
+#----POSTER SIZE & COLUMN FORMATTING----#
+poster_height: "38in" # height in inches of poster
+poster_width: "45in" # width in inches of poster
+column_numbers: 3 # Number of columns that the poster has
+column_margins: "10mm" # Margin spacing for columns
+
+#----OTHER----#
+bibliography: MyLibrary # name of the .bib file used for referencing
+output: posterdown::posterdown_pdf
+---
+
+```{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')
+```
+
+<!--
+Bellow you will find typical RMarkdown syntax which should fill in the columns for the poster from top to bottom left to right. The more information you have the more will be filled. Please let me know if you have feedback at brentthorne18@gmail.com or at github.com/brentthorne/posterdown
+
+ENJOY! XD
+-->
+
+# 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 from `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}
+
+## OTHER
+
+```{r, fig.width=4.5, out.width="100%", fig.cap='Here is an example of a firgure using the iris dataset and ggplot2', cache=TRUE}
+
+plot(iris$Sepal.Length,iris$Sepal.Width, pch = 19)
+
+```
+
+
+# Objectives
+
+\large
+
+1. Easy to use reproducible poster design. 
+2. Integration with `RMarkdown`.
+3. Easy transition from `posterdown` 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
+
+Usually you want to have a nice table displaying some important results that you have calcualated. In posterdown this is as easy as using the `kable` table formatting you are probably use to as per typical `RMarkdown` formatting. I suggesting checking out the `kableExtra` package and its in depth documentation on customizing these tables found [here](https://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf).
+
+```{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 = TRUE) %>% 
+  kable_styling(latex_options = "striped",full_width = TRUE, font_size = 25)
+
+```
+
+\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
+- 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.
+
+<!--- Here you can set the size of the citation text as well as remove the "References" section if you choose not to have one for some reason :) -->
+\small\printbibliography
+
+
diff --git a/.Rproj.user/5271889B/sources/prop/65543ACF b/.Rproj.user/5271889B/sources/prop/65543ACF
index bc837ce..2ca6deb 100644
--- a/.Rproj.user/5271889B/sources/prop/65543ACF
+++ b/.Rproj.user/5271889B/sources/prop/65543ACF
@@ -1,4 +1,4 @@
 {
-    "cursorPosition" : "13,0",
+    "cursorPosition" : "14,0",
     "scrollLine" : "0"
 }
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/sources/prop/75ADDBD6 b/.Rproj.user/5271889B/sources/prop/75ADDBD6
new file mode 100644
index 0000000..0ceedfa
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/prop/75ADDBD6
@@ -0,0 +1,4 @@
+{
+    "cursorPosition" : "60,37",
+    "scrollLine" : "40"
+}
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/sources/prop/98ACF786 b/.Rproj.user/5271889B/sources/prop/98ACF786
index 5468b10..c925790 100644
--- a/.Rproj.user/5271889B/sources/prop/98ACF786
+++ b/.Rproj.user/5271889B/sources/prop/98ACF786
@@ -1,4 +1,4 @@
 {
-    "cursorPosition" : "8,0",
+    "cursorPosition" : "7,0",
     "scrollLine" : "0"
 }
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/sources/prop/B74ABE2A b/.Rproj.user/5271889B/sources/prop/B74ABE2A
new file mode 100644
index 0000000..63286a9
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/prop/B74ABE2A
@@ -0,0 +1,4 @@
+{
+    "cursorPosition" : "20,53",
+    "scrollLine" : "0"
+}
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/sources/prop/FB09601B b/.Rproj.user/5271889B/sources/prop/FB09601B
new file mode 100644
index 0000000..0bfdcb1
--- /dev/null
+++ b/.Rproj.user/5271889B/sources/prop/FB09601B
@@ -0,0 +1,4 @@
+{
+    "cursorPosition" : "78,9",
+    "scrollLine" : "61"
+}
\ No newline at end of file
diff --git a/.Rproj.user/5271889B/sources/prop/INDEX b/.Rproj.user/5271889B/sources/prop/INDEX
index 2db511e..085e896 100644
--- a/.Rproj.user/5271889B/sources/prop/INDEX
+++ b/.Rproj.user/5271889B/sources/prop/INDEX
@@ -16,6 +16,7 @@
 ~%2FGitHub%2Fposterdown%2FR%2Fposterdown.R="B9A5C895"
 ~%2FGitHub%2Fposterdown%2FR%2Fposterdown_generic.R="687400BC"
 ~%2FGitHub%2Fposterdown%2FR%2Fposterdown_memoir.R="AEF097CC"
+~%2FGitHub%2Fposterdown%2FR%2Fposterdown_pdf.R="B74ABE2A"
 ~%2FGitHub%2Fposterdown%2FR%2Fposterdown_render.R="D96D40A"
 ~%2FGitHub%2Fposterdown%2FR%2Futils.R="B80AF4E6"
 ~%2FGitHub%2Fposterdown%2Finst%2Frmarkdown%2Ftemplates%2Fposterdown_generic%2Fresources%2Fbeamerthemeconfposter.sty="9DF9C059"
@@ -37,6 +38,8 @@
 ~%2FGitHub%2Fposterdown%2Finst%2Frmarkdown%2Ftemplates%2Fposterdown_memoir%2Fskeleton%2Fskeleton.bib="4E095E95"
 ~%2FGitHub%2Fposterdown%2Finst%2Frmarkdown%2Ftemplates%2Fposterdown_memoir%2Fskeleton%2Fskeleton.tex="5781AC46"
 ~%2FGitHub%2Fposterdown%2Finst%2Frmarkdown%2Ftemplates%2Fposterdown_memoir%2Ftemplate.yaml="7A49AA51"
+~%2FGitHub%2Fposterdown%2Finst%2Frmarkdown%2Ftemplates%2Fposterdown_pdf%2Fresources%2Ftemplate.tex="75ADDBD6"
+~%2FGitHub%2Fposterdown%2Finst%2Frmarkdown%2Ftemplates%2Fposterdown_pdf%2Fskeleton%2Fskeleton.Rmd="FB09601B"
 ~%2FGitHub%2Fposterdown%2Fman%2Fiflatex.Rd="A4D2ACB2"
 ~%2FGitHub%2Fposterdown%2Fman%2Fposter_pdf.Rd="EA4F766C"
 ~%2FGitHub%2Frticles%2FR%2Fmdpi_article.R="82417BB7"
