diff --git a/.Rproj.user/441ADA46/pcs/files-pane.pper b/.Rproj.user/441ADA46/pcs/files-pane.pper
index de6e98a..f2ab743 100644
--- a/.Rproj.user/441ADA46/pcs/files-pane.pper
+++ b/.Rproj.user/441ADA46/pcs/files-pane.pper
@@ -1,5 +1,5 @@
 {
-    "path" : "~/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_pdf/skeleton",
+    "path" : "~/Documents/GitHub/posterdown",
     "sortOrder" : [
         {
             "ascending" : false,
diff --git a/.Rproj.user/441ADA46/pcs/source-pane.pper b/.Rproj.user/441ADA46/pcs/source-pane.pper
index 70829f6..3249574 100644
--- a/.Rproj.user/441ADA46/pcs/source-pane.pper
+++ b/.Rproj.user/441ADA46/pcs/source-pane.pper
@@ -1,3 +1,3 @@
 {
-    "activeTab" : 1
+    "activeTab" : 2
 }
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/persistent-state b/.Rproj.user/441ADA46/persistent-state
index 248cac3..cbc36d4 100644
--- a/.Rproj.user/441ADA46/persistent-state
+++ b/.Rproj.user/441ADA46/persistent-state
@@ -1,8 +1,8 @@
 build-last-errors="[]"
 build-last-errors-base-dir="~/Documents/GitHub/posterdown/"
-build-last-outputs="[{\"output\":\"==> R CMD INSTALL --preclean --no-multiarch --with-keep.source posterdown\\n\\n\",\"type\":0},{\"output\":\"* installing to library ‘/home/thornux/R/x86_64-pc-linux-gnu-library/3.5’\\n\",\"type\":1},{\"output\":\"* installing *source* package ‘posterdown’ ...\\n\",\"type\":1},{\"output\":\"** R\\n\",\"type\":1},{\"output\":\"** inst\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** byte-compile and prepare package for lazy loading\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** help\\n\",\"type\":1},{\"output\":\"*** installing help indices\\n\",\"type\":1},{\"output\":\"** building package indices\\n\",\"type\":1},{\"output\":\"** testing if installed package can be loaded\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"* DONE (posterdown)\\n\",\"type\":1},{\"output\":\"\",\"type\":1}]"
+build-last-outputs="[{\"output\":\"==> R CMD INSTALL --preclean --no-multiarch --with-keep.source posterdown\\n\\n\",\"type\":0},{\"output\":\"* installing to library ‘/home/thornux/R/x86_64-pc-linux-gnu-library/3.5’\\n\",\"type\":1},{\"output\":\"* installing *source* package ‘posterdown’ ...\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** R\\n\",\"type\":1},{\"output\":\"** inst\\n\",\"type\":1},{\"output\":\"** byte-compile and prepare package for lazy loading\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"** help\\n\",\"type\":1},{\"output\":\"*** installing help indices\\n\",\"type\":1},{\"output\":\"** building package indices\\n\",\"type\":1},{\"output\":\"** testing if installed package can be loaded\\n\",\"type\":1},{\"output\":\"\",\"type\":1},{\"output\":\"* DONE (posterdown)\\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}"
-imageDirtyState="1"
-saveActionState="-1"
+find-in-files-state="{\"handle\":\"\",\"input\":\"\",\"path\":\"\",\"regex\":false,\"results\":{\"file\":[],\"line\":[],\"lineValue\":[],\"matchOff\":[],\"matchOn\":[]},\"running\":false}"
+imageDirtyState="0"
+saveActionState="0"
diff --git a/.Rproj.user/441ADA46/sources/per/t/2F24B1BB b/.Rproj.user/441ADA46/sources/per/t/2F24B1BB
deleted file mode 100644
index 6b4bd79..0000000
--- a/.Rproj.user/441ADA46/sources/per/t/2F24B1BB
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    "collab_server" : "",
-    "contents" : "",
-    "created" : 1547919267165.000,
-    "dirty" : false,
-    "encoding" : "UTF-8",
-    "folds" : "",
-    "hash" : "2227939390",
-    "id" : "2F24B1BB",
-    "lastKnownWriteTime" : 1547934159,
-    "last_content_update" : 1547934159,
-    "path" : "~/Documents/GitHub/posterdown/DESCRIPTION",
-    "project_path" : "DESCRIPTION",
-    "properties" : {
-        "cursorPosition" : "17,20",
-        "scrollLine" : "0"
-    },
-    "relative_order" : 2,
-    "source_on_save" : false,
-    "source_window" : "",
-    "type" : "dcf"
-}
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/per/t/2F24B1BB-contents b/.Rproj.user/441ADA46/sources/per/t/2F24B1BB-contents
deleted file mode 100644
index 5bf0181..0000000
--- a/.Rproj.user/441ADA46/sources/per/t/2F24B1BB-contents
+++ /dev/null
@@ -1,22 +0,0 @@
-Package: posterdown
-Title: Generates PDF conference posters using R Markdown.
-Version: 0.1.1
-Author: Brent Thorne
-Description: Posterdown expands on RMarkdown to generate PDF conference posters.
-Authors@R: c(
-    person("Brent", "Thorne",
-           email = "brent.thorne18@gmail.com", 
-           role = c("aut", "cre"), 
-           comment = c(ORCID = "0000-0002-1099-3857")
-    ),
-    person("Peter", "Higgins", role = "ctb")
-  )
-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: rmarkdown, knitr, yaml, tinytex, ggplot2, rticles, kableExtra, Cairo
-SystemRequirements: GNU make
-RoxygenNote: 6.1.1
diff --git a/.Rproj.user/441ADA46/sources/per/t/815ADF03 b/.Rproj.user/441ADA46/sources/per/t/815ADF03
deleted file mode 100644
index ba254fc..0000000
--- a/.Rproj.user/441ADA46/sources/per/t/815ADF03
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    "collab_server" : "",
-    "contents" : "",
-    "created" : 1547924094518.000,
-    "dirty" : false,
-    "encoding" : "UTF-8",
-    "folds" : "",
-    "hash" : "83736655",
-    "id" : "815ADF03",
-    "lastKnownWriteTime" : 1547924098,
-    "last_content_update" : 1547924098455,
-    "path" : "~/Documents/GitHub/posterdown/README.md",
-    "project_path" : "README.md",
-    "properties" : {
-        "cursorPosition" : "134,0",
-        "scrollLine" : "0"
-    },
-    "relative_order" : 2,
-    "source_on_save" : false,
-    "source_window" : "",
-    "type" : "markdown"
-}
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/per/t/815ADF03-contents b/.Rproj.user/441ADA46/sources/per/t/815ADF03-contents
deleted file mode 100644
index dcf2122..0000000
--- a/.Rproj.user/441ADA46/sources/per/t/815ADF03-contents
+++ /dev/null
@@ -1,134 +0,0 @@
-# posterdown
-
-<img src="posterdown_hexlogo1.png" alt="poster logo" align="right" width = "25%" height="25%"/>
-
-As a graduate student, I found that it is almost a rite of passage to take early research and analysis and generate a conference poster allowing for critical feedback, as well as meeting the people in your field. I have also noticed that many of my fellow graduate students use R and are also getting their feet wet with RMarkdown :blush:; however, we always had to go back to using MS Powerpoint or Keynote or Adobe Illustrator for generating conference posters :unamused:. Posterdown was created as a proof-of-concept (to myself) that it is possible to make a beautiful poster using open source reproducible code.
-
-From this:
-
-<img src="code_pic.png" width="50%" height="50%">
-
-To this:
-
-<img src="example_poster.png" width="50%" height="50%">
-
-
-Please feel free to give me feedback or requests for changes in the [issues](https://github.com/brentthorne/posterdown/issues) page. I am currently finishing up my Master's degree so I will have limited time to work on updating this package in the next few months but nevertheless I will do what I can! :smile: 
-
-## Installation
-
-You can install and use **posterdown** from github using the `devtools` package as seen below.
-
-```r
-
-devtools::install_github("brentthorne/posterdown")
-
-```
-
-### Instructions if you have never used RMarkdown
-
-1. Install `devtools` package
-
-    ```r
-    install.packages("devtools")
-    ```
-
-2. Install `posterdown` from github repo
-
-    ```r
-    devtools::install_github("brentthorne/posterdown")
-    ```
-
-3. Install `tinytex`Latex libraries:
-
-    ```r
-    tinytex::install_tinytex()
-    ```
-
-    _**NOTE** This will take some time to load the LaTex Packages but is the best option (in my opinion) for keeping your Latex library as small as possible. After the first download of these libraries you will not need to do this again. To confirm that Tinytex is properly installed use: `tinytex:::is_tinytex()` and you should get a value of `TRUE` in the console._
-    
-    _**NOTE** If you have conflicting versions of Latex (i.e. tinytex and MacTex), you could have problems rendering your poster. You may need to uninstall all versions, then start over by installing posterdown and tinytex from scratch._ 
-
-## Overview
-
-The **posterdown** package provides a familiar workflow for those used to working in [RMarkdown](https://rmarkdown.rstudio.com/). This package is currently focused on a single template called **posterdown_pdf** which is by default a 38in (H) x 45in (W) poster template but does allow for custom sizing, section headers, and colour options.
-
-## Using posterdown from RStudio
-
-To use **posterdown** from RStudio:
-
-1. Install the latest [RStudio](http://www.rstudio.com/products/rstudio/download/).
-
-2. Install the **posterdown** package: 
-
-    ```r    
-    devtools::install_github("brentthorne/posterdown")
-    ```
-    
-3. Use the **New R Markdown** dialog to create a conference poster from the templates
-
-    ![New R Markdown](posterdown_picture.png)
-
-    _**NOTE** If you do not see the **posterdown** template in this dialogue box try to restart the R session or close and re-open RStudio._
-
-## Customization
-
-Posterdown uses Latex to generate the PDF poster but more specifically it uses the [Memoir Latex](http://texdoc.net/texmf-dist/doc/latex/memoir/memman.pdf) class. Memoir was chosen for its flexibility in page sizing as well as thorough documentation. I am fairly new to the world of Latex, and found this class to have a reasonable amount of customization available, at least for my skill level. If there are any users who think there may be better options for down the road I am more than willing to listen! 
-
-### YAML Options
-
-YAML header options have been created to provide more freedom in design (i.e. colours, number of columns, and sizing) to fit a wide variety of requirements. Here are the default YAML options found in the `.Rmd` file:
-
-|     Option    | Description |
-|---------------|-------------|
-| `title` | Poster title, acts as you would expect from RMarkdown. You can add line breaks in your title with \\break. |
-| `author` | List of authors which (as of now) only has true support for a single author, however I have provided a hacky way to have many authors until I can find the time to figure out how to implement something like the [rticles](https://github.com/rstudio/rticles/blob/master/inst/rmarkdown/templates/mdpi_article/skeleton/skeleton.Rmd) packages does|
-| `affiliation` | Author affiliations, which just as the `author` section is currently a hacky version of what I would ultimately like to produce. |
-| `font_size` | Represents the value for `\normaltextsize` in latex. All other font sizes are adjusted from this baseline. For example, the title in the skeleton document is given the Latex command `\Huge`, meaning that the title text will be "huge" relative to the `font_size` chosen. See [Here](https://www.overleaf.com/learn/latex/Font_sizes,_families,_and_styles) for a useful resource for a better understanding of the Latex text sizing options.|
-| `font_family` | Selects the font family to be used on the poster. In the future I will try to implement multiple font families for various components of the poster (such as different fonts for the title versus the main body text).  For now, only standard Latex fonts are available, see [here](https://www.overleaf.com/learn/latex/Font_typefaces) for a list of possible options.|
-| `title_bgcol` | The background colour for the title section of the poster (currently using hex values to define this colour) |
-| `poster_bgcol`| Background colour of the poster's main body section. |
-| `title_textcol` | Colour of the main title text. |
-| `header_textcol` | Colour of the Section Header Text. |
-| `cite_col` | Colour of the citation link elements when using `biblatex`. |
-| `url_col` | Colour of URL links specifically |
-| `link_col` | Colour of in-document links (example would be referencing a Figure or a Table) |
-| `columnline_col` | Colour of the line which divides each column in the poster |
-| `poster_height` | Height of the final poster output. Units can be: "in", "mm", "cm" |
-| `poster_width` | Width of the final poster output. Units can be: "in", "mm", "cm" |
-| `column_numbers` | Number of columns you wish for the poster to have in the main section of the poster. |
-| `bibliography` | Name of the `.bib`. file which you are using to source material. As of right now only `biblatex` is working but I intend to add support of `natbib` which is my preference.
-| `output` | For generating `posterdown_pdf`, in the future other poster designs or templates may be made for this package and thus this option in the YAML will be more flexible. For now this is the only option. |
-
-### Markdown Customization
-
-As you add content to your RMarkdown file, you will notice that the output pdf will fill in columns from left to right, and from top to bottom within columns. If you have more content for your poster than space is available on the default poster, it will spill onto a second page. If this occurs, you can try adding more columns and decreasing the font size (both in the YAML header) to make it work. Or, of course, edit the content to make it shorter. :smile:
-
-## Using posterdown outside of RStudio
-
-1. Install [pandoc](http://pandoc.org) using the [instructions for your platform](https://github.com/rstudio/rmarkdown/blob/master/PANDOC.md).
-
-2. Install the **rmarkdown** and **posterdown** packages:
-
-    ```r
-    devtools::install_github("brentthorne/posterdown")
-    ```
-
-3. Use the `rmarkdown::draft()` function to create articles:
-
-    ```r
-    rmarkdown::draft("MyPoster.Rmd", template = "posterdown_pdf", package = "posterdown")
-    ```
-    
-## To Do List (When Not Writing my Master's Thesis)
-
-- [x] ~~Support for changing the size of the poster~~
-- [ ] Support for Natbib
-- [ ] Support for nbib from PubMed
-- [ ] Support for logo placement in the title bar section of poster
-- [ ] Gradient colour options
-- [ ] True YAML multi-author/ multi-affiliation support
-- [ ] Toggle citation section on/off as per user's choice
-- [ ] Make colour options standardized (probably hex colours if possible)
-- [ ] Allow users to choose colour options from a palette??
-- [ ] Fill/style Section headings if user wishes
diff --git a/.Rproj.user/441ADA46/sources/per/t/CE1C4972 b/.Rproj.user/441ADA46/sources/per/t/CE1C4972
deleted file mode 100644
index 4254c7c..0000000
--- a/.Rproj.user/441ADA46/sources/per/t/CE1C4972
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    "collab_server" : "",
-    "contents" : "",
-    "created" : 1547934272425.000,
-    "dirty" : false,
-    "encoding" : "UTF-8",
-    "folds" : "",
-    "hash" : "1644768190",
-    "id" : "CE1C4972",
-    "lastKnownWriteTime" : 1547934305,
-    "last_content_update" : 1547934305964,
-    "path" : "~/Documents/GitHub/posterdown/inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.Rmd",
-    "project_path" : "inst/rmarkdown/templates/posterdown_pdf/skeleton/skeleton.Rmd",
-    "properties" : {
-        "cursorPosition" : "99,77",
-        "scrollLine" : "96"
-    },
-    "relative_order" : 3,
-    "source_on_save" : false,
-    "source_window" : "",
-    "type" : "r_markdown"
-}
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/per/t/CE1C4972-contents b/.Rproj.user/441ADA46/sources/per/t/CE1C4972-contents
deleted file mode 100644
index b035b15..0000000
--- a/.Rproj.user/441ADA46/sources/per/t/CE1C4972-contents
+++ /dev/null
@@ -1,168 +0,0 @@
----
-#----ESSENTIALS----#
-title: '\fontfamily{phv}\selectfont 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.
-
-```{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 `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 = c("striped","HOLD_position"),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/441ADA46/sources/prop/60EAAA4E b/.Rproj.user/441ADA46/sources/prop/60EAAA4E
index cd6cc3c..c69d76f 100644
--- a/.Rproj.user/441ADA46/sources/prop/60EAAA4E
+++ b/.Rproj.user/441ADA46/sources/prop/60EAAA4E
@@ -1,4 +1,4 @@
 {
     "cursorPosition" : "99,77",
-    "scrollLine" : "96"
+    "scrollLine" : "0"
 }
\ No newline at end of file
diff --git a/.Rproj.user/441ADA46/sources/prop/INDEX b/.Rproj.user/441ADA46/sources/prop/INDEX
index 8c60c41..db5b628 100644
--- a/.Rproj.user/441ADA46/sources/prop/INDEX
+++ b/.Rproj.user/441ADA46/sources/prop/INDEX
@@ -1,4 +1,5 @@
 ~%2FDocuments%2FGitHub%2FThesis%2FCarbon%2FCarbon.Rmd="50D2217A"
+~%2FDocuments%2FGitHub%2Fposterdown%2F.gitignore="A9477CA1"
 ~%2FDocuments%2FGitHub%2Fposterdown%2F.travis.yml="F60D855F"
 ~%2FDocuments%2FGitHub%2Fposterdown%2FDESCRIPTION="AE6C9F23"
 ~%2FDocuments%2FGitHub%2Fposterdown%2FNAMESPACE="FB6BF66"
