15 Notes, références croisées et bibliographie
15.1 Insérer des notes de bas de page
Plusieurs syntaxes pour insérer une note. (attention aux bascules avec le visual mode qui en privilégie une)
Les notes sont rédigés dans des crochets.
On indique qu’il s’agit d’une note avec
^
Méthode 1: Insérer un numero de note et la renseigner dans un endroit du document qmd: en dessous de la phrase ou du paragraphe qui appelle la note, en fin de document…. A privilégier peut-être pour des notes longues.
1]
On va insérer la note en renseignant son numéro[^
1]: C'est la première note, dont le contenu est rédigé ici directement sous la phrase. [^
On va insérer la note en renseignant directement son numéro1
- Méthode 2: la note est directement rédigée dans la phrase avec
^[Contenu de la note]
.
On va insérer la note en la rédigant directement dans la phrase ^[Contenu de la note, qui sera ici la seconde du chapitre].
On va insérer la note en la rédigant directement dans la phrase 2.
Petit warning: d’après mon expérience, si on bascule du mode visual au mode source les notes renseignées avec la méthode2 sont transformée en méthode 1 (le contenu de la note étant directement mise sous le paragraphe où elle est appelée.
15.2 Insérer des références croisées
Documentation: https://quarto.org/docs/authoring/cross-references.html
Les références croisées sont des liens internes qui s’appliquent à divers éléments d’un document:
- Image(s) insérée en markdown.
- Graphique(s) généré(s) par un programme.
- Tableau(x) inséré(s) en markdown.
- Tableau(x) générés dans un programme.
- Bloc de codes
- Encadrés informatifs (callout).
- Chapitres et sections
- Equations.
En passant sur le lien une fenêtre s’ouvre donnant la totalité ou un apperçu du lien.
15.2.1 Nouvelle syntaxe et nouveaux éléments avec la version 1.4
- On peut insérer le label directement dans une section div.
- Nouveaux éléments concernés comme les vidéos.
Principe
- Pour ajouter un élément qui fera l’objet d’un renvoi dans une autre partie du du document, on doit ajouter un label en option de cet élément.
- La création de ce label dépend de la façon dont est généré l’élément.
Pour une image ou un graphique:
- Markdown:
{#fig-nom_label}
- Programme: en option du bloc
#| label: nom_label
- On appelle l’élément référencé avec
@nom_label
3.
Eléménts | Markdown /Section div (::: ) |
Option bloc de code |
---|---|---|
Graphique/Image | {#fig-nom_label} |
#| label: "nom_label" |
Tableau | {#tbl-nom_label} |
#| label: tbl-nom_label |
Programme | ::: {#lst-nom_label} |
#| lst-label: lst-nom_label |
Callout | {.callout-typ #prefix-nom_label} [Table 15.1] |
|
Equation/formule | {#eq-nom_label} |
|
Chapitre/section | {#sec-nom_label} |
|
Video | ::: {#fig-nom_label} |
15.2.2 Image markdown
En option de l’image: ![Titre](lien_image){#fig-nom_label}
.
- Par exemple pour les trois éléments du grid d’un document html (Chapitre sur le format html):
-grid par défaut](https://quarto.org/docs/output-formats/images/grid.png){#fig-gridhtml} ![Doc quarto
- Insérer dans une phrase
fig-gridhtml
. Résultat:
Se rappeler que la mise en page d’un document html comporte 3 colonnes: la sidebar à gauche, le body au centre, et la margin à droite [Figure 11.1].
Plusieurs options à l’image
Si on a déjà une option, dans l’exemple width=70%
, on met le label à l’intérieur des mêmes accolades: {width=70% #fig-gridhtml}
.
15.2.3 Graphique généré par un programme
Pour les graphiques, le label est directement renseigné en option du bloc de codes avec #| label: nom_label
.
label: "nom label"
#| #| echo: fenced
label: "fig-scatter_cars"
#| -cap: "**Position top du titre défini dans le `yaml`**"
#| fig
"mtcars")
data(- mtcars$wt
x <- mtcars$mpg
y < plot(x, y)
Insérer dans une phrase @fig-scatter_cars
. Résultat:
Relation entre le poids de la voiture et la distance parcourue pour 3.8 litres d’essence [Figure 5.1]…..sans surprise.
15.2.4 Tableau markdown
- Même principe que pour les images. On ajoute le label en option sous le tableau généré avec des pipes.
- On remplace simplement
#fig-nom_label
par#tbl-nom_label
$Y_1$ | $Y_2$ |
| Variables | -----------|-------|-------|
|$X_1$ | 100 | 261 |
| $X_2$ | 350 | 198 |
| $X_3$ | 125 | 175 |
|
-tableau_md} : Titre tableau {#tbl
Insérer dans une phrase @tbl-tableau_md
. Résultat:
Tableau généré en markdown avec le mode visual [Table 3.1]
15.2.5 Tableau généré par un programme
- Même principe que pour les graphiques. On ajoute le label en option dans le bloc de code avec
#| label: "tbl-nom_label"
.
label: "tbl-mtcars_df"
#| -cap: "Base voitures"
#| tbl
"mtcars")
data(1:4])) knitr:: kable(head(mtcars[,
Insérer dans une phrase: @tbl-mtcars_df
. Résultat:
Se reporter à l’extrait de la base mtcars [Table 5.1]
15.2.6 Un bloc de codes
Pour référencer un bloc de code, deux possibilités:
- Via les options du bloc
- Avec la version 1.4 de Quarto, dans une section div.
Le référencement se fait avec le prefixe
lst-
:En option du bloc de codes:
- Le label de la référence est donné par l’option
#| lst-label: nom_label
. - On peut mettre un titre au label:
#| lst-cap: titre
.
- Le label de la référence est donné par l’option
Dans le chapitre sur les blocs de code:
```{r}
#| lst-label: lst-code
#| lst-cap: "Calcul moyenne"
val = c(10,15,5,2,12,7)
moy = mean(val)
```
- Dans une section div:
{#lst-nomlabel}
-nom_label}
::: {#lst
<programme> :::
- Résultat (options du bloc):
Le programme pour calculer la moyenne [Listing 5.1]
15.2.7 Callout
- Très utile, par exemple pour ne pas avoir à multiplier, par exemple, un rappel dans un même document ou support.
- Dans l’ouverture de la section div (
:::
) on va ajouter un label à l’encadré informatif. - Comme on ajoute une option, on devra utiliser directement la classee css associée:
- Sans la label:
::: callout-tip
- Avec un label:
::: {.callout-tip #prefix-nom_label}
- Sans la label:
- Les préfixes: les labels doivent être préfixés de la manière suivante:
Type de callout | prefixe du label |
---|---|
note |
#nte- |
tip |
#tip- |
warning |
#wrn- |
important |
#imp- |
caution |
#cau- |
Par exemple dans le chapitre 3, on veut rappeler qu’il peut-être utile d’utiliser la balise
pour ajouter des sauts des lignes. On a ajouté dans ce callout le label #tip-multi_br
-tip #tip-multi_br}
::: {.callout
### Plusieurs sauts de ligne
3 lignes `\\\`.\
Selon le traducteur Markdown il est possible ou non d'augmenter le nombre de saut de ligne en ajoutant des backslash. Par exemple pour sauter 012-markdown-5]
Ce n'est pas possible avec Quarto ou Rmarkdown. La solution est alors d'ajouter une ou plusieurs balises html `<br>`. Pour un document en format PDF on peut ajouter la balises Latex `\linebreak`[^ :::
- Insérer dans une phrase:
@tip-multi_br
. Résultat:
Si on veut faire plusieurs sauts de ligne avec une balise html [Tip 3.1]
15.2.8 Section
- On peut renvoyer vers une section particulière du document en ajoutant le label après le titre avec
#sec-nom_label
. C’est une forme de lien au final.
Dans cette page, si je veux renvoyer à la section “Insérer une note”:
-note} ## Insérer des éléments bibliographiques {#sec
Insérer dans une phrase: @sec-note
. Résultat:
Se reporter à la section sur les notes de bas de page [Section 15.1].
15.2.9 Equation/formule
- Seulement pour les équations/formule sur une ligne entière:
$$formule$$
- Après l’équation/formule on ajoute directement le label {#eq-nom_formule}
$$\sum_{i=0}^n p_i=1$$ {#eq-probsum}
\[\sum_{i=0}^n p_i=1 \tag{15.1}\]
Insérer dans une phrase: @eq-probsum
. Résultat:
Rappel: une des propriétés des probabilités est Équation 15.1
On remarque le numéro de l’équation/formule dans le document est reporté à sa droite.
- En passant sur la référence on voit une popup apparaitre.
- Dans les renvois vers un autre chapitre, et donc un autre document, cette popup est vide4.
- Dans les deux dernières références croisées, le renvoi était sur le même document. Le début de la section bibliographie et la formule s’affiche dans la popup.
15.2.10 Une vidéo
Dans une section div (:::
) ajouter le label ::: {fig-nom_label}
au shortcode de la video. Par exemple pour la vidéo de l’entretien de JJ.Allaire qui se trouve en introduction du support:
Insérer dans une phrase: @fig-video
. Résultat:
Se reporter à l’entretien de JJ.allaire [Figure 1]
15.3 Insérer des éléments bibliographiques
- Avoir un fichier
.bib
qui comprend a minima toutes les références qui seront citées. - Dans le yaml, on ajoute le ou les fichiers avec l’ option
bibliography: nom_fichier.bib
---
bibliography: festy.bib---
Dans le fichier festy.bib, une référence est par exemple:
-sex_2020,
@incollection{cortina_same= {"Cham, Suisse"},
address = {European {Studies} of {Population}},
series = {Same-{Sex} {Couples} and {Their} {Legalization} in {Europe}: {Laws} and {Numbers}},
title = {24},
volume = {978-3-030-37054-1},
isbn = {https://doi.org/10.1007/978-3-030-37054-1_3},
url = {Cortina, Clara and Festy, Patrick},
author }
Dans le corps de texte on appelle la référence bibliographique avec le nom du ou des auteur.re.s @nom_reference_biblio
, ici @cortina_same-sex_2020
**@cortina_same-sex_2020** Insertion de la référence dans le corps du texte de
- Insertion 1 de la référence dans le corps du texte de Cortina et Festy (2020).
- Insertion 2 de la référence dans le corps du texte de Festy (2013).
En fin du document qmd, d’une section ou d’un chapitre, on peut insérer l’ensemble des références bibliographiques citées dans une section div avec la classe quarto {#refs}
. Cette section n’a aucun contenu.
Par exemple à la fin de cette section:
### Bibliographie
::: {#refs} :::