diff --git a/.Rproj.user/441ADA46/sources/prop/AAD9DB44 b/.Rproj.user/441ADA46/sources/prop/AAD9DB44
index e3568cd..dcc05b0 100644
--- a/.Rproj.user/441ADA46/sources/prop/AAD9DB44
+++ b/.Rproj.user/441ADA46/sources/prop/AAD9DB44
@@ -1,4 +1,4 @@
 {
     "cursorPosition" : "0,23",
-    "scrollLine" : "0"
+    "scrollLine" : "14"
 }
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/prop/B68389EB b/.Rproj.user/441ADA46/sources/prop/B68389EB
index 6467334..6519c24 100644
--- a/.Rproj.user/441ADA46/sources/prop/B68389EB
+++ b/.Rproj.user/441ADA46/sources/prop/B68389EB
@@ -1,4 +1,4 @@
 {
     "cursorPosition" : "41,0",
-    "scrollLine" : "33"
+    "scrollLine" : "0"
 }
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/per/t/245EA062 b/.Rproj.user/441ADA46/sources/s-1DCD7B32/245EA062
similarity index 95%
rename from .Rproj.user/441ADA46/sources/per/t/245EA062
rename to .Rproj.user/441ADA46/sources/s-1DCD7B32/245EA062
index 201d670..458a24f 100644
--- a/.Rproj.user/441ADA46/sources/per/t/245EA062
+++ b/.Rproj.user/441ADA46/sources/s-1DCD7B32/245EA062
@@ -5,7 +5,7 @@
     "dirty" : false,
     "encoding" : "UTF-8",
     "folds" : "",
-    "hash" : "4025009362",
+    "hash" : "0",
     "id" : "245EA062",
     "lastKnownWriteTime" : 1546872959,
     "last_content_update" : 1546872959089,
diff --git a/.Rproj.user/441ADA46/sources/per/t/245EA062-contents b/.Rproj.user/441ADA46/sources/s-1DCD7B32/245EA062-contents
similarity index 100%
rename from .Rproj.user/441ADA46/sources/per/t/245EA062-contents
rename to .Rproj.user/441ADA46/sources/s-1DCD7B32/245EA062-contents
diff --git a/.Rproj.user/441ADA46/sources/s-1DCD7B32/36A4DACA b/.Rproj.user/441ADA46/sources/s-1DCD7B32/36A4DACA
new file mode 100644
index 0000000..50a96b3
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/s-1DCD7B32/36A4DACA
@@ -0,0 +1,22 @@
+{
+    "collab_server" : "",
+    "contents" : "",
+    "created" : 1546877826055.000,
+    "dirty" : false,
+    "encoding" : "UTF-8",
+    "folds" : "",
+    "hash" : "0",
+    "id" : "36A4DACA",
+    "lastKnownWriteTime" : 1546700391,
+    "last_content_update" : 1546700391,
+    "path" : "~/Documents/GitHub/posterdown/R/posterdown_pdf.R",
+    "project_path" : "R/posterdown_pdf.R",
+    "properties" : {
+        "cursorPosition" : "0,23",
+        "scrollLine" : "14"
+    },
+    "relative_order" : 3,
+    "source_on_save" : false,
+    "source_window" : "",
+    "type" : "r_source"
+}
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/s-1DCD7B32/36A4DACA-contents b/.Rproj.user/441ADA46/sources/s-1DCD7B32/36A4DACA-contents
new file mode 100644
index 0000000..06f5bd7
--- /dev/null
+++ b/.Rproj.user/441ADA46/sources/s-1DCD7B32/36A4DACA-contents
@@ -0,0 +1,22 @@
+#' Posterdown PDF format (using 'memoir' document class)
+#'
+#' @inheritParams rmarkdown::pdf_document
+#' @param ... Additional arguments to \code{rmarkdown::pdf_document}
+#'
+#' @return R Markdown output format to pass to
+#'   \code{\link[rmarkdown:render]{render}}
+#'
+#' @examples
+#'
+#' \dontrun{
+#' library(rmarkdown)
+#' draft("MyArticle.Rmd", template = "posterdown_generic", package = "posterdown")
+#' }
+#'
+#' @export
+posterdown_pdf <- function(..., keep_tex = TRUE) {
+  inherit_pdf_document(...,
+                       keep_tex = keep_tex,
+                       template = find_resource("posterdown_pdf", "template.tex"),
+                       citation_package = "biblatex")
+}
diff --git a/.Rproj.user/441ADA46/sources/per/t/DC9C14ED b/.Rproj.user/441ADA46/sources/s-1DCD7B32/DC9C14ED
similarity index 91%
rename from .Rproj.user/441ADA46/sources/per/t/DC9C14ED
rename to .Rproj.user/441ADA46/sources/s-1DCD7B32/DC9C14ED
index 4eaa399..bc01eb9 100644
--- a/.Rproj.user/441ADA46/sources/per/t/DC9C14ED
+++ b/.Rproj.user/441ADA46/sources/s-1DCD7B32/DC9C14ED
@@ -5,7 +5,7 @@
     "dirty" : false,
     "encoding" : "UTF-8",
     "folds" : "",
-    "hash" : "1393976223",
+    "hash" : "0",
     "id" : "DC9C14ED",
     "lastKnownWriteTime" : 1546872957,
     "last_content_update" : 1546872957437,
@@ -13,7 +13,7 @@
     "project_path" : "inst/rmarkdown/templates/posterdown_pdf/resources/template.tex",
     "properties" : {
         "cursorPosition" : "41,0",
-        "scrollLine" : "33"
+        "scrollLine" : "0"
     },
     "relative_order" : 2,
     "source_on_save" : false,
diff --git a/.Rproj.user/441ADA46/sources/per/t/DC9C14ED-contents b/.Rproj.user/441ADA46/sources/s-1DCD7B32/DC9C14ED-contents
similarity index 100%
rename from .Rproj.user/441ADA46/sources/per/t/DC9C14ED-contents
rename to .Rproj.user/441ADA46/sources/s-1DCD7B32/DC9C14ED-contents
diff --git a/inst/rmarkdown/templates/posterdown_pdf/skeleton/.Rhistory b/.Rproj.user/441ADA46/sources/s-1DCD7B32/lock_file
similarity index 100%
rename from inst/rmarkdown/templates/posterdown_pdf/skeleton/.Rhistory
rename to .Rproj.user/441ADA46/sources/s-1DCD7B32/lock_file
diff --git a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.pdf b/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.pdf
deleted file mode 100644
index 21608e0..0000000
--- a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.pdf
+++ /dev/null
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.tex b/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.tex
deleted file mode 100644
index 0ed9d95..0000000
--- a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.tex
+++ /dev/null
@@ -1,380 +0,0 @@
-%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{pagecolor}
-\usepackage{tabu}
-\usepackage{threeparttable}
-\usepackage{threeparttablex}
-\usepackage[normalem]{ulem}
-\usepackage{makecell}
-
-\usepackage{hyperref}
-\hypersetup{
-    colorlinks=true,
-    linkcolor=cyan,
-    citecolor=green,
-    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{blue}}
-\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{MyLibrary}
-\defbibheading{bibliography}[\bibname]{%
-\section*{#1}%
-\markboth{#1}{#1}}
-\AtBeginDocument{%
-  \renewcommand{\bibname}{References}
-}
-
-%bring in the users information
-\author{Author One\textsuperscript{1} Author Two\textsuperscript{2}}
-\title{Using \texttt{posterdown} to generate reproducible conference posters
-via RMarkdown \textgreater{} Knitr \textgreater{} Markdown
-\textgreater{} Pandoc \textgreater{} Latex \textgreater{} PDF workflow}
-\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}{000000}
-
-\mdfdefinestyle{brentsmdfstyle}{%
-  backgroundcolor=myframecolour,
-  linecolor= blue,
-  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
-\usepackage{color}
-\usepackage{fancyvrb}
-\newcommand{\VerbBar}{|}
-\newcommand{\VERB}{\Verb[commandchars=\\\{\}]}
-\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
-% Add ',fontsize=\small' for more characters per line
-\usepackage{framed}
-\definecolor{shadecolor}{RGB}{248,248,248}
-\newenvironment{Shaded}{\begin{snugshade}}{\end{snugshade}}
-\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{#1}}}
-\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{#1}}
-\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}}
-\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}}
-\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{#1}}
-\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}}
-\newcommand{\CharTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}}
-\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}}
-\newcommand{\StringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}}
-\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}}
-\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{#1}}
-\newcommand{\ImportTok}[1]{#1}
-\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{#1}}}
-\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}}
-\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}}
-\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}}
-\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{#1}}
-\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}}
-\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{#1}}
-\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{#1}}}
-\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.81,0.36,0.00}{\textbf{#1}}}
-\newcommand{\BuiltInTok}[1]{#1}
-\newcommand{\ExtensionTok}[1]{#1}
-\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{#1}}}
-\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.77,0.63,0.00}{#1}}
-\newcommand{\RegionMarkerTok}[1]{#1}
-\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}}
-\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{#1}}}}
-\newcommand{\AlertTok}[1]{\textcolor[rgb]{0.94,0.16,0.16}{#1}}
-\newcommand{\ErrorTok}[1]{\textcolor[rgb]{0.64,0.00,0.00}{\textbf{#1}}}
-\newcommand{\NormalTok}[1]{#1}
-
-\usepackage{courier}
-\renewcommand*\familydefault{\sfdefault}
-\newpagecolor{white}
-%begin the document
-\begin{document}
-
-\begin{mdframed}[style=brentsmdfstyle]
-%sets footnote to be white hopefully
-\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{red}
-\vspace{0.5in}
-  \Huge{Using \texttt{posterdown} to generate reproducible conference posters
-via RMarkdown \textgreater{} Knitr \textgreater{} Markdown
-\textgreater{} Pandoc \textgreater{} Latex \textgreater{} PDF workflow} \\[0.3in]
-  \color{cyan} \Large{Author One\textsuperscript{1} Author Two\textsuperscript{2}} \\[0.2in]
-  \color{white} \large{\textsuperscript{1}Department of Poster Layouts, University of Markdown;
-\textsuperscript{2}Deparment of Another Institution, Institution
-University} \par
-  \vspace{0.2in}
-
-% end title section -------------------
-  \endgroup
-\end{mdframed}
-
-% Brgin body of poster
-\begin{adjmulticols*}{3}{10mm}{10mm}
-\normalsize{
-\color{black}
-\section{Introduction}\label{introduction}
-
-Welcome to \texttt{posterdown} ! This is my attempt to provide a
-semi-smooth workflow for those who wish to take their \texttt{RMarkdown}
-skills to the conference world. Many creature comforts from
-\texttt{RMarkdown} are available in this package such as
-\texttt{Markdown} section notation, figure captioning, and even
-citations like this one \autocite{holden_identifying_2012} The rest of
-this example poster will show how you can insert typical conference
-poster features into your own document.
-
-\section{Study Site}\label{study-site}
-
-Here is a map made to show the study site using \texttt{ggplot2},
-\texttt{ggspatial}, and \texttt{sf}. Lorem ipsum dolor sit amet,
-\autocite{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}
-
-\begin{figure}
-
-{\centering \includegraphics[width=0.8\linewidth]{skeleton_files/figure-latex/unnamed-chunk-2-1} 
-
-}
-
-\caption{This is a map of Canada, the ggspatial package is great for GIS folks in R!}\label{fig:unnamed-chunk-2}
-\end{figure}
-
-\section{Objectives}\label{objectives}
-
-\large
-
-\begin{enumerate}
-\def\labelenumi{\arabic{enumi}.}
-\tightlist
-\item
-  Easy to use reproducible poster design.
-\item
-  Integration with \texttt{RMarkdown}.
-\item
-  Easy transition from \texttt{posterdown} to \texttt{thesisdown} or
-  \texttt{rticles}
-\end{enumerate}
-
-\small
-
-\section{Methods}\label{methods}
-
-This package uses the same workflow approach as the \texttt{RMarkdown}
-you know and love. Basically it goes from RMarkdown \textgreater{} Knitr
-\textgreater{} Markdown \textgreater{} Pandoc \textgreater{} Latex
-\textgreater{} PDF
-
-\section{Results}\label{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
-\texttt{kable} table formatting you are probably use to as per typical
-\texttt{RMarkdown} formatting. I suggesting checking out the
-\texttt{kableExtra} package and its in depth documentation on
-customizing these tables found
-\href{https://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf}{here}.
-
-\rowcolors{2}{gray!6}{white}
-
-\begin{table}
-
-\caption{\label{tab:unnamed-chunk-3}Tables are a breeze with Kable and Kable extra package!}
-\centering
-\fontsize{25}{27}\selectfont
-\begin{tabu} to \linewidth {>{\centering}X>{\centering}X>{\centering}X>{\centering}X>{\centering}X}
-\hiderowcolors
-\toprule
-Sepal.Length & Sepal.Width & Petal.Length & Petal.Width & Species\\
-\midrule
-\showrowcolors
-5.1 & 3.5 & 1.4 & 0.2 & setosa\\
-4.9 & 3.0 & 1.4 & 0.2 & setosa\\
-4.7 & 3.2 & 1.3 & 0.2 & setosa\\
-4.6 & 3.1 & 1.5 & 0.2 & setosa\\
-\bottomrule
-\end{tabu}
-\end{table}
-
-\rowcolors{2}{white}{white}
-
-\vspace{1in}
-
-\begin{figure}
-
-{\centering \includegraphics[width=0.75\linewidth]{skeleton_files/figure-latex/unnamed-chunk-4-1} 
-
-}
-
-\caption{A typical plot using ggplot using the classic iris dataset.}\label{fig:unnamed-chunk-4}
-\end{figure}
-
-\vspace{1in}
-
-\begin{figure}
-
-{\centering \includegraphics[width=0.85\linewidth]{skeleton_files/figure-latex/unnamed-chunk-5-1} 
-
-}
-
-\caption{Another typical plot using ggplot, this time with a different theme and r code chunk options for fig.width and fig.height.}\label{fig:unnamed-chunk-5}
-\end{figure}
-
-\vspace{1in}
-
-\begin{Shaded}
-\begin{Highlighting}[]
-\CommentTok{# Here is some code for people}
-\CommentTok{# to look at and be in awe of!!!!}
-\KeywordTok{library}\NormalTok{(ggplot2)}
-\KeywordTok{library}\NormalTok{(ggthemes)}
-
-\KeywordTok{ggplot}\NormalTok{(}\DataTypeTok{data=}\NormalTok{iris,}
-       \KeywordTok{aes}\NormalTok{(}\DataTypeTok{x =}\NormalTok{ Sepal.Width,}
-           \DataTypeTok{y =}\NormalTok{ Sepal.Length,}
-           \DataTypeTok{colour =}\NormalTok{ Species)) }\OperatorTok{+}
-\StringTok{  }\KeywordTok{geom_point}\NormalTok{() }\OperatorTok{+}
-\StringTok{  }\KeywordTok{theme_stata}\NormalTok{() }\OperatorTok{+}
-\StringTok{  }\OtherTok{NULL}
-\end{Highlighting}
-\end{Shaded}
-
-\begin{figure}
-
-{\centering \includegraphics[width=0.8\linewidth]{skeleton_files/figure-latex/unnamed-chunk-6-1} 
-
-}
-
-\caption{Another figure showing how base R plots might look on this poster!}\label{fig:unnamed-chunk-6}
-\end{figure}
-
-\section{Next Steps}\label{next-steps}
-
-There is still \textbf{A LOT} of work to do on this package which
-include (but are note limited to):
-
-\begin{itemize}
-\tightlist
-\item
-  Better softcoding for front end user options in YAML
-\item
-  Images in the title section for logo placement which is a common
-  attribut to posters as far as I have come to know.
-\item
-  Figure out compatiability with \texttt{natbib} which wasn't working
-  during the initial set up.
-\item
-  MUCH BETTER PACKAGE DOCUMENTATION. For example, there is nothing in
-  the README\ldots{}
-\item
-  Include References section only if initiated by the user like in
-  RMarkdown.
-\end{itemize}
-
-\small
-\printbibliography
-}
-\end{adjmulticols*}
-%end the poster
-\end{document}
diff --git a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_cache/latex/__packages b/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_cache/latex/__packages
deleted file mode 100644
index 663d793..0000000
--- a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_cache/latex/__packages
+++ /dev/null
@@ -1,11 +0,0 @@
-base
-methods
-datasets
-utils
-grDevices
-graphics
-stats
-ggplot2
-ggspatial
-ggthemes
-sf
diff --git a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_cache/latex/unnamed-chunk-2_3301430026f0abb3845c8ac8a11926c1.RData b/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_cache/latex/unnamed-chunk-2_3301430026f0abb3845c8ac8a11926c1.RData
deleted file mode 100644
index 35e531c..0000000
--- a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_cache/latex/unnamed-chunk-2_3301430026f0abb3845c8ac8a11926c1.RData
+++ /dev/null
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_cache/latex/unnamed-chunk-2_3301430026f0abb3845c8ac8a11926c1.rdb b/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_cache/latex/unnamed-chunk-2_3301430026f0abb3845c8ac8a11926c1.rdb
deleted file mode 100644
index 0ba91fd..0000000
--- a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_cache/latex/unnamed-chunk-2_3301430026f0abb3845c8ac8a11926c1.rdb
+++ /dev/null
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_cache/latex/unnamed-chunk-2_3301430026f0abb3845c8ac8a11926c1.rdx b/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_cache/latex/unnamed-chunk-2_3301430026f0abb3845c8ac8a11926c1.rdx
deleted file mode 100644
index 025c0d3..0000000
--- a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_cache/latex/unnamed-chunk-2_3301430026f0abb3845c8ac8a11926c1.rdx
+++ /dev/null
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_files/figure-latex/unnamed-chunk-2-1.pdf b/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_files/figure-latex/unnamed-chunk-2-1.pdf
deleted file mode 100644
index a4b3fa0..0000000
--- a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_files/figure-latex/unnamed-chunk-2-1.pdf
+++ /dev/null
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_files/figure-latex/unnamed-chunk-4-1.pdf b/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_files/figure-latex/unnamed-chunk-4-1.pdf
deleted file mode 100644
index 7305345..0000000
--- a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_files/figure-latex/unnamed-chunk-4-1.pdf
+++ /dev/null
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_files/figure-latex/unnamed-chunk-5-1.pdf b/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_files/figure-latex/unnamed-chunk-5-1.pdf
deleted file mode 100644
index 12a4d36..0000000
--- a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_files/figure-latex/unnamed-chunk-5-1.pdf
+++ /dev/null
Binary files differ
diff --git a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_files/figure-latex/unnamed-chunk-6-1.pdf b/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_files/figure-latex/unnamed-chunk-6-1.pdf
deleted file mode 100644
index 9e9d512..0000000
--- a/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton_files/figure-latex/unnamed-chunk-6-1.pdf
+++ /dev/null
Binary files differ
