16 Eléments de mise en page
Quelques indications sur des mises en pages spécifiques pour des documents de type articles/notebook en format html. Cela concernera l’édition sous forme de colonnes, l’insertion d’éléments dans la zône du grid située à droite (margin) et la mise en page de plusieurs images ou graphiques sous forme de vignettes. Sur ce dernier aspect, il s’agit de tirer profit de l’option lightbox
.
- Affichage d’éléments dans la partie droite du grid (margin):
- Générique: utilisation de la classe Css
.column-margin
. - Dans un programme (graphique, tableau): option
column: margin
. - Cas particuliers: insertion d’un tableau markdown et d’une note.
- Générique: utilisation de la classe Css
- Mise en page avec plusieurs colonnes:
- Classe css multicolumn. Pas recommandé à l’exception d’éléments texte.
- Mise en page fixe. Classe css ou option dans un bloc de codes:
layout-ncol
. - Mise en page libre. Classe css ou option dans un bloc de codes:
layout
.layout= "[liste items col]"
.layout= "[[liste items col], [liste item ligne]]"
.
16.1 Rappel sur l’édition en multicolonne
A réserver plutôt à des éléments texte: paragraphe ou liste. Particulièrement utile pour les présentations de type revealjs.
Une colonne simple: dans une section div: classe css
{.column width="x%"}
="33%"}
::: {.column width/notebook en format html.
Quelques indications sur des mises en pages spécifiques pour des documents de type articles :::
Quelques indications sur des mises en pages spécifiques pour des documents de type articles/notebook en format html.
- Plusieurs colonnes:
- On indique une mise en page sur plusieurs colonnes avec une déclaration préalable: section div introduite avec 4 : (imbrication) et la classe
{.columns}
: :::: {.columns}
- On indique une mise en page sur plusieurs colonnes avec une déclaration préalable: section div introduite avec 4 : (imbrication) et la classe
:::: {.columns}="33%"}
::: {.column width/notebook en format html.
Quelques indications sur des mises en pages spécifiques pour des documents de type articles
::: ="33%"}
::: {.column width
Cela concernera l'édition sous forme de colonnes, l'insertion d'éléments dans la zône du grid située à droite (margin) et la mise en page de plusieurs images ou graphiques sous forme de vignettes.
::: ="33%"}
::: {.column width**`lightbox`**.
Sur ce dernier aspect, il s'agit de tirer profit de l'option ::::
On trouvera ici quelques indications sur des mises en pages spécifiques pour des documents de type articles/notebook en format html.
Cela concernera l’édition sous forme de colonnes, l’insertion d’éléments dans la zône du grid située à droite (margin) et la mise en page de plusieurs images ou graphiques sous forme de vignettes.
Sur le second aspect, il s’agit de tirer profit de l’option lightbox
.
- On peut augmenter l’espace entre deux colonnes en ajoutant des colonnes vide et en jouant sur la largeur.
:::: {.columns}="29%"}
::: {.column width/notebook en format html.
Quelques indications sur des mises en pages spécifiques pour des documents de type articles
::: ="6%"}
::: {.column width
:::="29%"}
::: {.column width
Cela concernera l'édition sous forme de colonnes, l'insertion d'éléments dans la zône du grid située à droite (margin) et la mise en page de plusieurs images ou graphiques sous forme de vignettes.
::: ="6%"}
::: {.column width
:::="29%"}
::: {.column width**`lightbox`**.
Sur ce dernier aspect, il s'agit de tirer profit de l'option
::: ::::
Quelques indications sur des mises en pages spécifiques pour des documents de type articles/notebook en format html.
Cela concernera l’édition sous forme de colonnes, l’insertion d’éléments dans la zône du grid située à droite (margin) et la mise en page de plusieurs images ou graphiques sous forme de vignettes.
Sur ce dernier aspect, il s’agit de tirer profit de l’option lightbox
.
16.2 Insertion d’éléments dans la marge à droite du document
Pour les éléments de type image/graphique, penser à activé l’option lightbox
qui permettra de les agrandir dans une fenêtre.
Pour le format pdf, utiliser dans le yaml les options suivantes
- Graphiques:
cap-location:margin
- Titres des graphiques:
fig-cap-location: margin
- Titre des tableaux:
fig-cap-location: margin
16.2.1 La classe css générique .column-margin
Syntaxe:
-margin}
::: {.column
Elements à insérer
:::
Image Markdown
- Penser à activer l’option
lightbox
qui permettra d’agrandir
-margin}
::: {.column//quarto.org/quarto.png)
(x+1)$$
:::
\[x^2-1=(x-1)(x+1)\]
Un tableau markdown
Col1 | Col2 |
---|---|
A | B |
C | D |
-margin}
::: {.column
| Col1 | Col2 |------|------|
|
| A | B |D |
| C |
: Tableau markdown :::
A noter que l’on peut appliquer directement ::: column-margin
.
16.2.2 Options dans un bloc de codes
- Option
#| column: margin
. - Pour les graphiques, l’ajout d’un label semble obligatoire, je ne comprend pas vraiment pourquoi.
Graphique
```{r}
#| label: fig-mpg
#| column: margin
#| fig-cap: "Consommation selon l'origine"
#| warning: false
#| message: false
library(ggplot2)
mtcars$am = as.factor(mtcars$am)
ggplot(mtcars, aes(x=mpg, fill=am)) +
geom_density(alpha=0.4)
```
Tableau
mpg | cyl | disp | |
---|---|---|---|
Mazda RX4 | 21.0 | 6 | 160 |
Mazda RX4 Wag | 21.0 | 6 | 160 |
Datsun 710 | 22.8 | 4 | 108 |
```{r}
#| tbl-cap: "Extrait base mtcars"
#| column: margin
knitr::kable(
mtcars[1:3, 1:3]
)
```
16.2.3 Note à droite du texte
Les notes font l’objet d’un traitement particulier. Le positionnement dans la marge se fait avec l’utilisation de la classe css .aside
. Attention comme la note est directement visible, aucun numéro ne lui est affecté.
On peut ajouter une note directement à droite du texte avec la classe css
**.aside**[Comme elle se situe directement à droite du texte, aucun numéro de note n'est généré]{.aside}
On peut ajouter une note directement à droite du texte avec la classe css .asideComme elle se situe directement à droite du texte, aucun numéro de note n’est généré.
16.3 Mise en page sous forme de vignettes des images/graphiques
Deux types d’insertion: fixe ou libre
16.3.1 Mise en forme fixe
- Classe css ou option d’un bloc de codes:
layout-ncol
- Insertion markdown:
::: {layout-ncol=nbre_col}
- Attention, la classe css n’est pas préfixée par un ..
- Bloc de codes: option
#| layout-ncol: nbre_col
- Insertion markdown:
Exemple: insertion d’images markdown sous forme de vignettes
-ncol=4}
::: {layout/img1.png){group="g1"}
{group="g1"}
{group="g1"}
{group="g1"}

mtcars$am = as.factor(mtcars$am)
mpg = ggplot(mtcars, aes(x=mpg, fill=am)) +
geom_density(alpha=0.4)
disp = ggplot(mtcars, aes(x=disp, fill=am)) +
geom_density(alpha=0.4)
mpg
disp
```
16.3.2 Mise en forme libre
- Classe css
{layout= ... }
. De nouveau non préfixée par un .- Plus compliqué au premier abord en raison de la syntaxe, mais plus souple pour jouer sur l’espace entre deux images.
- On va renseigner les ratios d’affichage entre les différentes images par des valeurs.
- On peut modifier l’espace entre deux images.
- En option d’un bloc de codes:
#| layout: ...
Syntaxe par l’exemple avec deux images:
:::{layout= "[valeur1,valeur2]"}
- Valeur1 et valeur2 n’indique pas une taille d’affichage des images mais le ratio d’affichage entre les deux.
Les images seront affichées de manière identique lorsque les valeurs sont identiques1.
="[50,50]"}
::: {layout/img1.png)



















 l’espace entre 2 images avec des valeurs négatives entre deux images.
Par défaut avec 2 images:
="[1,1]"}
::: {layout/img4.png)






mtcars$am = as.factor(mtcars$am)
mpg=ggplot(mtcars, aes(x=mpg, fill=am)) +
geom_density(alpha=0.4)
disp=ggplot(mtcars, aes(x=disp, fill=am)) +
geom_density(alpha=0.4)
wt=ggplot(mtcars, aes(x=wt, fill=am)) +
geom_density(alpha=0.4)
wt
mpg
disp
```