Positionner le contenu dans la marge

Créer des documents de style ‘Tufte’ avec des notes en marge, des tableaux et figures en marge, et d’autres contenus en marge

Cet article présente quelques-unes des possibilités de positionnement du contenu dans la marge de la page. Vous pouvez en savoir plus sur les capacités complètes dans le Guide de mise en page des articles.

Fonctionnalités
Mise en page
Auteur·rice

Charles Teague

Date de publication

17 février 2022

Dans Quarto prend en charge une variété d’options de mise en page qui vous permettent de rédiger des contenus qui

Ce billet présente quelques-unes des possibilités de positionnement du contenu dans la marge de la page.

Figures de marge

Les figures que vous créez à l’aide de cellules de code peuvent être placées dans la marge en utilisant l’option de cellule de code column : margin. Si le code produit plus d’une figure, chacune des figures sera placée dans la marge.

```{r}
#| label: fig-mtcars
#| fig-cap: "MPG vs horsepower, coloré par transmission."
#| column: margin

library(ggplot2)
mtcars2 <- mtcars
mtcars2$am <- factor(
  mtcars$am, labels = c('automatic', 'manual')
)
ggplot(mtcars2, aes(hp, mpg, color = am)) +
  geom_point() +
  geom_smooth(formula = y ~ x, method = "loess") +
  theme(legend.position = 'bottom')
```
Figure 1: MPG vs horsepower, coloré par transmission.

Tableaux de marge

Vous pouvez également placer des tableaux dans la marge de votre document en spécifiant column: margin.

```{r}
#| column: margin

knitr::kable(
  mtcars[1:3, 1:3]
)
```
mpg cyl disp
Mazda RX4 21.0 6 160
Mazda RX4 Wag 21.0 6 160
Datsun 710 22.8 4 108

Autre contenu

Vous pouvez également placer du contenu dans la marge en ciblant la colonne de marge à l’aide d’une div avec la classecolumn-margin. Par exemple:

::: {.column-margin}
Nous savons d'après *le premier théorème fondamental du calcul* que pour $x$ dans $[a, b]$:

$$\frac{d}{dx}\left( \int_{a}^{x} f(u)\,du\right)=f(x).$$
:::

Nous savons d’après le premier théorème fondamental du calcul que pour \(x\) dans \([a, b]\):

\[\frac{d}{dx}\left( \int_{a}^{x} f(u)\,du\right)=f(x).\]

Références sur les marges

Les notes de bas de page et la bibliographie apparaissent généralement à la fin du document, mais vous pouvez choisir de les placer dans la marge en configurant l’option suivante [^1] dans le recto du document:

---
reference-location: margin
citation-location: margin
---

Lorsque ces options sont configurées, les notes de bas de page et les citations sont (respectivement) automatiquement placées dans la marge du document plutôt qu’en bas de page. Par exemple, lorsque je cite Xie, Allaire, et Grolemund (2018), l’entrée de la bibliographie de la citation elle-même apparaîtra désormais dans la marge.

Xie, Yihui, J. J. Allaire, et Garrett Grolemund. 2018. R Markdown: The Definitive Guide. Boca Raton, Florida: Chapman; Hall/CRC. https://bookdown.org/yihui/rmarkdown.

A côté

Les apartés vous permettent de placer le contenu à côté du contenu dans lequel il est placé. Les apartés ressemblent à des notes de bas de page, mais n’incluent pas la marque de la note de bas de page (le numéro en exposant).

Il s’agit d’un span qui a la classe aside qui le place dans la marge sans numéro de note de bas de page
[Ceci est un span qui a la classe aside qui le place dans la marge sans numéro de note de bas de page]{.aside}

Légendes des marges

Pour les figures et les tableaux, vous pouvez laisser le contenu dans le corps du document tout en plaçant la légende dans la marge du document. Utiliser cap-location : margin dans une cellule de code ou dans la page de garde d’un document pour contrôler ceci. Par exemple:

```{r}
#| label: fig-cap-margin
#| fig-cap: "MPG vs horsepower, coloré par transmission."
#| cap-location: margin

library(ggplot2)
mtcars2 <- mtcars
mtcars2$am <- factor(
  mtcars$am, labels = c('automatic', 'manual')
)
ggplot(mtcars2, aes(hp, mpg, color = am)) +
  geom_point() +
  geom_smooth(formula = y ~ x, method = "loess") +
  theme(legend.position = 'bottom')
```
Figure 2: MPG vs horsepower, coloré par transmission.