You can create custom PDF templates for your reports without worrying about the lateX code. The template presented creates a first cover page and following pages with custom header, footer and background.
Fonction prepare_for_knit
will prepare everything you
need in the directory of your Rmd file. You can even ask it to directly
knit your pdf in the output_dir
directory.
There is a template example in the package that you can prepare with the following command lines. The YAML is automatically filled with the correct options. Run these lines to see the results in PDF.
library(pdfreport)
prepare_for_knit(rmd.path = system.file("example/template_example.Rmd", package = "pdfreport"),
knit = TRUE, output_dir = tempdir())
Available on Github only.
You have to fix the following parameters to customise the template with your own information.
Background are images. This is why header, footer and margins are
fixed in this template.
In the package, you will find svg
files that you can open
with “Inkscape” to modify the templates. There is one svg
file for the title page Background_Title_light.svg
and one
for normal pages Background_light_topdown.svg
. Export your
image as png
and you will be able to use them as background
images. You can also directly use the one provided in the package.
# Find svg image
system.file("img/Background_Title_light.svg", package = "pdfreport")
system.file("img/Background_light_topdown.svg", package = "pdfreport")
# Set Background images
bg <- system.file("img/Background_lightblue_topdown.png", package = "pdfreport")
bg.title <- system.file("img/Background_Title_lightblue.png", package = "pdfreport")
You need to create a Rmd file before. The function
will only help you create the different LateX files and fix options in
the YAML to render your PDF. Using prepare_for_knit
, you
will prepare everything you need (files will be copied in your Rmd
folder). With option knit = TRUE
, this will directly render
the PDF. But you will still be able to knit your PDF manually if you
have to change the content of the Rmd. In this case, try to not modify
the YAML or re-run prepare_for_knit
before.
# Define your own already created Rmd file
rmd.path <- system.file("example/template_example.Rmd", package = "pdfreport")
# Prepare and run options (All options are listed here)
prepare_for_knit(
rmd.path,
fig_caption = TRUE, keep_tex = FALSE,
number_sections = TRUE, toc = TRUE,
lang = lang, out_format = c("pdf_document2", "pdf_book")[1],
author = author,
title = title, description = description,
email = email,
slogan = slogan, created_on = created_on,
bg = bg, bg.title = bg.title,
link.col = link.col, section.color = section.color, main.col = main.col,
company = company, company_url = company_url,
knit = TRUE, output_dir = tempdir())
There are a few extra to color the text according to your options.
You can use this lateX code directly in your Rmd file. Knit the
template_example.Rmd
file to test this.