Dans cet article, nous allons voir les balises markdown permettant de structurer un document. Je me concentrerai sur le rendu HTML pour ne pas trop perdre les lecteurs.
Les réglages généraux
Le titre principal du document
Par défaut, le titre du document généré se trouve dans le champ YAML title:
. Il sera repris en tant que titre de la page (qui s’affiche dans la barre d’application du navigateur) et s’affichera en haut du document généré. En HTML, il se retrouve donc dans l’entête et dans le corps
<!-- Ceci n'est pas le vrai code généré, mais une illustration -->
<html>
<head>
<title>LE TITRE</title>
</head>
<body>
<h1>LE TITRE</h1>
</body>
</html>
HTMLSi vous voulez un titre dynamique, résultat d’un calcul sur des données qui ne seront accessibles que plus tard, il faut différer la définition mais dans ce cas, la génération automatique de l’entête est désactivée :
---
author: "F. Senis"
---
```{r}
titre <- "mon titre"
```
---
title: "`r print(titre)`"
---
MarkdownUne table des matières
Markdown peut générer automatiquement une table des matières. Pour cela il faut ajouter toc: TRUE
comme variable sous le type de document généré dans l’entête YAML. On peut contrôler la profondeur de la table des matières avec toc_depth:
.
---
title: "essai"
author: "F. Senis"
output:
html_document:
toc: TRUE # <-- ICI
toc_depth: 5 # <-- ET ICI
---
MarkdownUne numérotation des chapitres
Pour que les chapitres soient automatiquement numérotés, il faut positionner l’option numbered_sections: TRUE
.
---
title: "essai"
author: "F. Senis"
output:
html_document:
numbered_sections: TRUE # <-- ICI
---
MarkdownEt bien sûr, on peut numéroter et intégrer une table des matières en mettant les 2 lignes.
La structuration d’un document
C’est la gestion de la segmentation du contenu : chapitres, sous-chapitres, paragraphes, listes,…
Il s’agit de blocs de texte découpant la masse de lignes de façon pertinente pour en faciliter la lecture. Il ne faut pas les utiliser pour créer des effets graphiques car il n’y a aucune garantie de la similarité de l’aspect entre les compilations, les médias de sortie ou les machines, logiciels et leurs réglages par défaut. Les feuilles de styles standard ou non utilisées doivent seules décider de l’aspect final du document (elles ne seront pas abordées car dépassant largement le périmètre R et Markdown).
Les chapitres et sous chapitres
Ils sont la principale méthode de découpage. Pour définir un chapitre ou un sous chapitre, il suffit de faire commencer la ligne par un certain nombre de caractères dièses #
puis un espace obligatoire. Le nombre de dièses définit la profondeur du sous-chapitre.
# Contrôle VID-HOSP
## Données patient
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed felis odio, mattis dapibus diam dignissim, eleifend lobortis nisi. Fusce eget vestibulum nulla.
### Données N°SS
Aenean id magna a nunc hendrerit posuere eu ac dui. Nullam urna diam, sagittis quis auctor vel, semper a neque.
## Données séjour
Donec varius velit eget lectus molestie, non eleifend libero luctus. In sit amet ullamcorper velit. Fusce dictum diam et hendrerit laoreet.
### Séjours simultanés
Sed ut velit nulla. Morbi metus libero, dapibus ac auctor a, sodales in odio.
## Données de facturation
### Couverture
Vestibulum aliquam, lacus ut lacinia luctus, ex erat cursus eros, eu ultrices ex odio vitae mi.
#### Code Grand régime
Curabitur eleifend arcu vel sem bibendum pretium.
#### Code gestion
Nullam euismod luctus tristique.
### Tarifs
Donec accumsan augue eget leo consequat malesuada.
# Conclusion {-}
Quisque auctor libero quis sem dictum dignissim. Phasellus euismod ipsum eget elit pulvinar, non placerat neque hendrerit. Ut at erat fringilla, laoreet odio eu, venenatis tortor. Nunc laoreet leo at eros tristique, eu dictum augue commodo. Nulla lectus massa, fermentum id leo quis, eleifend interdum nisl.
MarkdownLa balise {-}
en bout de la tête-de-chapitre « Conclusion » désactive, uniquement pour cette ligne, la numérotation automatique (si elle était activée bien sûr) dans le corps et dans la table des matières.
Pour les niveaux 1 et 2, il existe une écriture alternative en « soulignant » le texte :
Contrôle VID-HOSP
=================
Ci-dessus un niveau 1
Données patient
---------------
Et là un niveau 2
MarkdownJe ne suis pas un grand fan mais chacun ses gouts. Sachez que le nombre de =
ou -
n’est pas significatif, vous pourriez n’en mettre qu’un tant qu’il n’y a pas d’autre symbole sur la ligne mais c’est encore plus moche.
Les paragraphes
C’est simple, si le bloc ne commence par rien, c’est un paragraphe.
Nous avons déjà vu que nous pouvions scinder nos paragraphes par un retour à la ligne sans que cela n’impacte le flux des mots lors du rendu, changer de paragraphe nécessitant de passer une ligne vide.
Les citations
Une citation est un paragraphe qui va être décalé visuellement du flux de base des paragraphes. Pour cela toutes les lignes qui la composent doivent être préfixées par un >
. Les citations peuvent en contenir d’autres en rajoutant des >
. De plus les règles de sauts de lignes sont les mêmes sous réserve de garder les >
:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
> Aenean eget orci eget eros ullamcorper pharetra.
> Mauris sit amet ante a justo tincidunt pellentesque.
> Vestibulum sit amet pharetra orci. Duis pellentesque nulla sed orci eleifend faucibus.
>
> Maecenas leo mauris, congue a diam non, lacinia euismod leo.
>
>> Integer consequat elementum massa ut euismod. Nunc vitae egestas sem,
>> sed blandit elit. Morbi in justo sem.
>>
>> Curabitur id erat vitae enim tincidunt vulputate ultrices in ligula.
>> Donec dui nibh, elementum facilisis justo faucibus, feugiat pretium dolor.
Donec cursus venenatis lectus, a facilisis ipsum. Donec ac bibendum neque. Duis dictum porttitor erat. Duis id molestie turpis. Pellentesque in consequat est. Nulla id finibus dui, quis blandit velit. Maecenas ornare quam vel sapien mollis, et bibendum dui fringilla.
Markdownce qui donne :
D’autres éléments peuvent bien sûr aussi être insérés dans les citations mais pas les chapitres par exemple. Testez selon ce que vous voulez faire.
Les listes
Listes non ordonnées
Une liste non ordonnées est le modèle le plus simple, elle n’est pas numérotée. Le caractère préfixant les items est -
(un « moins », « tiret-du-6 »), une *
(« étoile ») ou un +
(« plus »). Ces caractères sont totalement interchangeables. Cependant, je vous conseille de garder un certaines uniformité pour vous aider à lire votre code.
Il ne faut pas sauter de ligne entre les items car le saut de ligne finit la liste en cours. Il est cependant possible d’intégrer certains autres éléments en les préfixant de 4 espaces ou 1 tabulation.
En particulier, vous pouvez faire des listes hiérarchiques en mettant ces 4 espaces ou 1 tabulation avant le préfixe de la sous-listes et bien sûr vous pouvez enchainer ces sous-listes:
- ligne 1
- ligne 2
* ligne 3
+ ligne 4
- ligne 5
+ ligne 6 ERREUR
MarkdownATTENTION, comme vous pouvez le voir sur la ligne 6, il n’est pas possible de « sauter » un niveau d’imbrication, même en respectant une uniformité des préfixes :
Les listes ordonnées
Ce sont des listes où les items sont numérotés. Le préfixe est alors un nombre et un point. Bien sûr on peut mélanger listes ordonnées et non ordonnées dans les niveaux hiérarchiques si besoin. Le premier item numéroté définit le début de la suite d’index. La valeur des nombres suivants n’est pas prise en compte tant que c’est un chiffre.
1. ligne 1
1. ligne 2
1. ligne 3
1. ligne 4
- ligne 5
5. ligne 6
1. ligne 7
MarkdownNotez que :
- la ligne 1 fait débuter la numérotation à 1 et le « 1. » de la ligne 2 donne « 2. »
- la ligne 5 arrête la liste ordonnée pour démarrer une liste non ordonnée (l’espace entre la ligne 4 et la ligne 5 est plus grand qu’attendu si la liste avait été continue)
- la ligne 6 fait démarrer la numérotation à « 5. » et la ligne 7 continue à « 6. » même si il est écrit « 1. »
Les sauts de page
Markdown reconnait la commande \pagebreak
issue de LaTeX pour créer des sauts de page dans les médias de sortie qui l’autorisent. Par exemple en HTML, l’affichage à l’écran ne sera pas impacté (une page web est continue à l’écran) mais à l’impression via Chrome, le saut de page sera respecté. C’est bien sûr le cas aussi vers PDF (qui se fait via LaTeX) et Word.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
\pagebreak
Aenean eget orci eget eros ullamcorper pharetra.
MarkdownLes barres horizontales
3 -
(tirets-du-6) ou 3 _
(traits de soulignement, tirets-du-8) ou 3 *
(étoiles) insèrent une ligne horizontale pour scinder un document continu.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
---
___
***
Aenean eget orci eget eros ullamcorper pharetra.
Markdowndonne 3 lignes de séparation à la suite.
Conclusion
Nous venons de voir les éléments permettant de structurer un document, toujours sans code R pour le moment. La prochaine fois nous verrons les éléments de base qui peuvent être insérés au sein même du texte. D’ici-là commencez à expérimenter. Bonne mise en forme.