InraeThemes est un package proposant une variété de templates (Rmarkdown/LaTeX), de thèmes (ggplot) et de fonctions utilitaires qui respectent la charte graphique INRAE.
Attention : Ces modèles nécessitent l’installation de 2 polices adoptées dans la charte graphique INRAE : Raleway et Avenir Next Pro.
Le package peut-être installé via :
# install.packages("remotes")
remotes::install_github("davidcarayon/InraeThemes")
Si vous ne possédez aucune installation de LaTeX sur votre machine, vous devrez également en installer une version minimale pour utiliser les modèles mobilisant LaTeX :
install.packages("tinytex")
tinytex::install_tinytex()
Ce package propose différentes fonctions permettant de personnaliser les graphiques produits avec {ggplot2} pour qu’ils correspondent à la charte graphique INRAE.
La palette de couleurs construite à partir de la charte graphique V3 est la suivante :
Ce package propose les 3 fonctions suivantes :
theme_inrae()
scale_color_inrae()
scale_fill_inrae()
Voici différents exemples d’utilisation de ces fonctions :
library(InraeThemes)
library(ggplot2)
## On charge les données d'exemple du package
data("example_datasets")
## On construit 4 graphiques d'exemple, stockés dans une même liste
display <- list(
ggplot(example_datasets$www, aes_string(x = 'Minute', y = 'Users',
color = 'Measure',
shape = 'Measure')) +
geom_line() +
geom_point(size = 3) +
facet_wrap(~Measure) +
geom_point(size = 1.8) +
scale_color_inrae() +
scale_shape_manual(values = c(15, 16)) +
labs(title = "Titre", subtitle = "Sous-titre") +
theme_inrae(),
ggplot(example_datasets$cars, aes_string(x = 'mpg', fill = 'cyl',
colour = 'cyl')) +
geom_density(alpha = 0.75) +
scale_fill_inrae() +
scale_color_inrae() +
labs(fill = 'Cylinders', colour = 'Cylinders', x = 'MPG', y = 'Density') +
theme_inrae(),
ggplot(example_datasets$dia, aes_string(x = 'price', fill = 'cut')) +
geom_histogram(binwidth = 850) +
xlab('Price (USD)') +
ylab('Count') +
scale_fill_inrae() +
scale_x_continuous(label = function(x) paste0(x / 1000, 'k'))+
theme_inrae(),
ggplot(example_datasets$drivers, aes_string(x = 'Year', y = 'Deaths',
fill = "Year")) +
geom_boxplot(size = 0.25) +
ylab('Monthly Deaths') +
theme_inrae() +
scale_fill_inrae() +
coord_flip() +
labs(caption = "Caption")
)
# On assemble
do.call(gridExtra::grid.arrange, display)
Ce package permet aussi de rédiger des rapports et/ou présentations pré-formatés selon la charte graphique INRAE.
Attention, ces fonctions ne visent qu’à fournir des templates (css, LaTeX, docx, logos) correspondants à la charte INRAE, associés à des fichiers Rmarkdown avec un YAML correctement configuré. Nous invitons les utilisateurs à se renseigner par la suite sur chacune des technologies utilisées (rmarkdown, LaTeX, pagedown, officedown, revaljs, remarkjs, etc.) pour aller plus loin dans la personnalisation des documents.
Différents templates sont proposés en fonction de la longueur du rapport et du format de sortie désiré (pdf, docx, html).
Ce premier template permet de produire un rapport HTML et/ou PDF (au
choix) en utilisant le package
{pagedreport}
,
lui-même basé sur {pagedown}
.
Ce format est dédié à la rédaction de rapports relativement courts car
la rédaction se concentre dans un seul fichier .Rmd. Lorsque la
rédaction devient plus lourde avec séparation des chapitres et une
bibliographie par chapitre par exemple, il convient de passer au modèle
suivant (i.e. {bookdown}
).
Ce template est accessible via File > New File > Rmarkdown > From Template
.
Pour son exécution, il faudra installer le package {pagedreports}
uniquement disponible sur github à l’heure actuelle :
# install.packages("remotes")
remotes::install_github("rfortherestofus/pagedreport", ref = "main")
Le template .Rmd est livré avec un YAML préformaté selon le template
fourni par le package {pagedreport}
avec un logo et des couleurs
INRAE. L’utilisateur pourra choisir parmis trois mises en formes
proposées (hazelnuts
, grid
ou windmill
).
L’utilisateur pourra aussi choisir d’utiliser chrome_print
dans le
YAML au moment de la compilation pour obtenir un fichier PDF en plus de
la sortie HTML.
Voici un exemple de rapport :
Ce second template permet de produire un rapport HTML et/ou PDF (au choix) en utilisant le package {bookdown}. Ce format est dédié à la rédaction document longs et complexes (i.e livres, thèses, etc.) car il permet une gestion modulaire des chapitres en fragmentant le rapport en plusieurs sous-documents.
{bookdown} est un package principalement dédié, tel que son nom l’indique, à la rédaction de livres. Contrairement au format {pagedown}, la version PDF nécessitera ici une installation LaTeX. Pour plus d’informations : Visitez le site de {bookdown}.
Comme il s’agit d’un format particulier, constitué d’un grand nombre de
fichiers, celui-ci ne peut être proposé via un template de document,
mais plutôt via un template de projet Rstudio via Projects > New Project > New Directory > Gitbook INRAE
. L’utilisateur peut ici définir
la localisation de son projet de rapport et choisir d’initialiser ou non
un dépôt git.
Pour la compilation globale du document, nous vous suggérons le widget
rstudio Build > Build book
dans le panneau contenant notamment les
objets R.
Voici un exemple de rapport :
Ce troisième template permet de produire un rapport au format Microsoft Word (.docx). Il fait appel aux packages {officer} et {officedown}.
Ce template est accessible via File > New File > Rmarkdown > From Template
.
Le template Rmd est livré avec un template au format .docx, à modifier selon les préférences de l’utilisateur, et un logo bloc-état.
Voici un exemple de rapport :
Ce quatrième template est une exception puisqu’il s’agit d’un template LaTeX (et non Rmarkdown). Une maîtrise de LaTeX est donc requise pour l’utilisation de ce modèle.
Note : Ce modèle a été développé par E. Quinton (INRAE/EABX).
Puisque ce template nécessite un grand nombre de fichiers pour fonctionner (images, page de garde, etc.) et n’est pas un template Rmarkdown, celui-ci ne peut être proposé via un addin Rstudio. Mais son utilisation reste simple, puisqu’il suffit juste de lancer la commande :
latex_report("Mon_Rapport")
Pour créer un répertoire contenant le template prêt à l’emploi. Le
fichier principal du template (document_inrae.tex
) sera
automatiquement ouvert sur Rstudio.
Voici un exemple de rapport :
Ce cinquième template permet de produire une présentation HTML utilisant la technologie RevealJS. La présentation est construites en 2 niveaux : les titres de premiers niveau définissent la dimension horizontale tandis que les titres de second niveau (et plus) définissent la dimension verticale. Chaque titre correspond à une diapositive.
Ce template est accessible via File > New File > Rmarkdown > From Template
.
Le template Rmd est livré avec une feuille de style CSS correspondant aux couleurs INRAE et un logo bloc-etat.
L’utilisateur pourra choisir d’utiliser chrome_print
au moment de la
compilation pour obtenir un fichier PDF en plus de la sortie HTML (Mais
déconseillé, privilégier RemarkJS pour la sortie PDF).
Voici un exemple de présentation :
Ce sixième template permet de produire une présentation HTML/PDF utilisant la technologie RemarkJS du package {xaringan}.
Ce template est accessible via File > New File > Rmarkdown > From Template
.
Le template Rmd est livré avec une feuille de style CSS correspondant aux couleurs INRAE, un fichier HTML permettant d’insérer le logo bloc-état sur chaque slide via du JavaScript et un logo INRAE blanc (issu de la charte graphique INRAE).
Note : le style CSS est très largement inspiré du thème développé par A. Bichat pour sa soutenance de thèse.
L’utilisateur pourra choisir d’utiliser chrome_print
au moment de la
compilation pour obtenir un fichier PDF en plus de la sortie HTML.
Voici un exemple de présentation :
Ce septième template permet de produire un une présentation au format PowerPoint
Ce template est accessible via File > New File > Rmarkdown > From Template
.
Le template Rmd est livré avec un template au format .pptx, à modifier selon les préférences de l’utilisateur.
Voici un exemple de présentation :
Ce huitième template est une autre exception puisqu’il s’agit d’un template LaTeX (et non Rmarkdown). Une maîtrise de LaTeX est donc requise pour l’utilisation de ce modèle.
Note : Ce modèle a été développé par E. Quinton (INRAE/EABX).
Puisque ce template nécessite un grand nombre de fichiers pour fonctionner (images, page de garde, etc.) et n’est pas un template Rmarkdown, celui-ci ne peut être proposé via un addin Rstudio. Mais son utilisation reste simple, puisqu’il suffit juste de lancer la commande :
latex_presentation("Ma_Presentation")
Pour créer un répertoire contenant le template prêt à l’emploi. Le
fichier principal du template (modele_beamer_inrae.tex
) sera
automatiquement ouvert sur Rstudio.
Voici un exemple de rapport :
Nous proposons dans ce package un template de projet pour l’analyse de
données, librement inspiré du package
{ProjectTemplate}
Ce template est directement accessible dans Rstudio via Projects > New Project > New Directory > New data analysis
. L’utilisateur peut ici
définir la localisation de son projet et choisir d’initialiser ou non
un dépôt git.
Note : Cette architecture n’est qu’un exemple de bonne pratiques parmis bien d’autres. Libre à vous de modifier ce template selon vos habitudes. Vos suggestions d’améliorations sont évidemment les bienvenues ici.