| |
LaTeX & R
Encore un site sur R !

Juste quelques trucs pour vous aider à débuter en R & LaTeX centré sur la production de rapports via knitr ou RMarkdown.

En clair je me suis fait un aide mémoire que je partage avec vous.

Diapos & cours
Article mis en ligne le 13 novembre 2021
dernière modification le 21 juin 2022

par Philippe MICHEL

La guerre R contre LaTeX est déclarée dans le monde de la diapo.

RMarkdown + xaringan ou LaTeX + Beamer ?

"I fall asleep when I see beamer slides" dixit Yihui Xie, le créateur de knitr & xaringan (entre autres). Désolé mais je ne suis pas encore tout à fait d’accord.

Je vais être franc, je n’utilise quasiment plus LaTeX pour mes travaux. Comme je rends principalement des rapports contenant des statistiques l’usage de RMarkdown est beaucoup plus simple que du $\LaTeX$ avec knitr. Les quelques complications sont facilement gérées en R. Le rendu en html est propre & un export en PDF est possible. Dans ce cas des connaissances en LaTeX sont utiles pour avoir un bon en-tête & faire quelques retouches mais c’est tout. Je suis persuadé qu’à terme, TeX & dérivés ne servirons qu’en arrière plan. Mais il reste un domaine où RMarkdown n’est pas (encore) au niveau. Il s’agit des diapos.

J’écris quelques cours depuis longtemps en LaTeX avec l’extension Beamer. Et depuis plusieurs mois j’ai tenté de transférer mes cours, du moins ceux qui font le plus appel à R ,en RMarkdown avec l’extension Xaringan écrite par Yihui Xie. Donc quelques conclusions :

  • Le rendu est excellent, les diapos claires si on a bien choisi sa police & le style.
  • La compilation est très, mais vraiment très rapide.
  • L’aide est très bien faite & répond à presque toutes les questions.
  • L’écriture est simple, c’est du Markdown !

Enfin presque car ce système a beaucoup de limites. qu’il faut contourner de deux manières :

  • Écrire directement en html. Par exemple pour avoir des cellules fusionnées dans un tableau. - Mais surtout personnaliser son rendu via du CSS. Par exemple pour émuler les block, exampleblock etc. de Beamer dont je fais un très large usage. Ou tout simplement pour faire ressortir une phrase en plus grand, plus gras, plus rouge.
  • Et on ressort du LaTeX pour les équations.

Donc on utilise quatre langages pour se simplifier la vie ! Et on fini par éviter certaines présentations trop complexes à mettre en place. Résultat, pour l’instant, je continue à rédiger mes cours en Beamer. Avec le bon thème (j’ai un faible pour Métropolis avec les fontes Fira ou Faune) le rendu est moderne, clair.

Pour info, voici le préambule de tous mes cours :

  1.  documentclass[french, 12pt,utc,xcolor={table}]{beamer}
  2. \usepackage{marvosym}
  3. \usepackage{amsmath}
  4. \usepackage{amsfonts}
  5. \usepackage{multimedia}
  6. \usepackage{graphicx}
  7. \usepackage[no-math]{fontspec} \mathcode`\.="013B" % Pour avoir une virgule en mode math %
  8. \usepackage{enumerate}
  9. \usepackage{booktabs}
  10. \usepackage{multirow}
  11. \usepackage{tabularx}
  12. \usepackage[per=slash, decimalsymbol=comma, range-units=single, range-phrase = {\ à\ } ]{siunitx}
  13. \usepackage{hyperref}
  14. \usepackage{babel}
  15. %
  16. \setmonofont[Ligatures=TeX] {FiraCode-Regular}
  17. \setsansfont[Ligatures=TeX, BoldFont = FiraSans-Bold] {FiraSans-Book}
  18. %
  19.  \newcommand{\pc}[1]{\SI{#1}{\percent}} % mes unités usuelles
  20. \newcommand{\mmol}[1]{\SI{#1}{\milli\mole\per\liter}}
  21. \newcommand{\oo}{O$_2${}}
  22. \newcommand{\stv}[1]{\raggedleft{\structure{#1}}\vspace{\stretch{1}}} \newcolumntype{C}{>{$}c<{$}}
  23. \newcolumntype{b}{>{\columncolor{cyan!.2}}c}
  24. %
  25. \definecolor{princ}{rgb}{.137,.216,.231}
  26. \usetheme{metropolis}
  27. \useinnertheme{rectangles}
  28. \usefonttheme{structurebold}
  29. \setbeamertemplate{footline}{}
  30. \setbeamertemplate{navigation symbols}{} %
  31. \title[cours]{Mon beau cours}
  32. \subtitle{Ou presque\dots}
  33. \author[zz]{Philippe \textsc{MICHEL}}
  34. \institute[]{Réanimation médico-chirurgicale}
  35. \logo{\includegraphics[width=0.05\linewidth]{images/raddict}}

Télécharger

Et en RMarkdown :


Dans la même rubrique