Narzędzia użytkownika

Narzędzia witryny


ewdmarkdown

Szablon rmarkdown dla raportów PDF

Opis

Aby wygenerować raport zgodny z wizualizacją EWD potrzeba dostosować nieco szablon dokumentu PDF. Dzieje się to przez dołączenie do domyślnego szablonu dokumentu PDF pliku z korektami.
Aby to zrobić, korzystamy z opcji in_header: ścieżkaDoPlikuKorekt.text w nagłówku szablonu raportu markdown (porównaj sekcja szablon markdown raportu poniżej). Wzorcowy plik korekt znajduje się na poniżej w sekcji Plik korygujący domyślny szablon dokumentu PDF.
Aby zadziałał, niezbędne jest jeszcze umieszczenie w katalogu z szablonem markdown raportu obrazka umieszczanego w nagłówku

Szablon markdown raportu

---
title: 'Tytuł'
author: 'autorzy'
date: 'data'
output:
  pdf_document:
    fig_caption: yes
    includes:
      in_header: szablonEWD.tex
    number_sections: yes
---

\thispagestyle{fancy}

```{r echo = FALSE}
# polskie znaki przy eksporcie do PDF pod Windows i MacOs
pdf.options(encoding = 'CP1250')
```

TWÓJ KOD RAPORTU

Plik korygujący domyślny szablon dokumentu PDF

Zamieszczony poniżej kod pliku koryguje:

* Nagłówki stron:

  • wstawia belkę z logotypami EWD, EFS, UE;
  • dostosowuje wysokość nagłówka
  • usuwa linię oddzielającą nagłówej od treści strony
  • wstawia numerację stron w stopce

* Język dokumentu (na polski)

\usepackage{polski}

\usepackage{fancyhdr}
\pagestyle{fancy}
\setlength{\headheight}{50pt}
\fancyhf{}
\chead{
  \includegraphics[width=\linewidth]{naglowek-ewd}
}
\renewcommand{\headrulewidth}{0pt}
\cfoot{\thepage}
\setlength{\textheight}{609pt}

Kod R generujący raporty wsadowo

Aby wygenerować wsadowo raporty (np. dla wszystkich szkół), wystarczy w pętli wywołać funkcję render() pakietu knitr. Przed jej wywołaniem należy ustawić wartości zmiennych tak, by pasowały do szablonu raportu. Np. w przykładzie poniżej zakładalibyśmy, że szablon korzysta z danych w zmiennej daneKonkretnegoRaportu.

library(knitr)
library(rmarkdown)
pelneDane = ...kod_wczytujący_dane...
for(i in seq_along(pelneDane[, 1])){
  daneKonkretnegoRaportu = pelneDane[i, ]
  render(
    input = 'plikSzablonu.Rmd', 
    output_file = paste0(daneKonkretnegoRaportu$id, '.pdf'),
  )
}
ewdmarkdown.txt · ostatnio zmienione: 2015/02/14 15:32 przez zozlak