// Note : Quarto décale les titres d'un niveau (## -> niveau 1, ### -> niveau 2). // Gabarit commun des supports : couleurs, titres, en-tête et pied de page. #let bleu-formation = rgb("#1a5fb4") #let gris-doux = rgb("#6b7280") #set page( header: context { // Grille plutôt que #h(1fr), que le préambule de Quarto neutralise dans l'en-tête if counter(page).get().first() > 1 { set text(size: 8pt, fill: gris-doux) grid(columns: (1fr, auto), [Formation ESP32-S3 avec Arduino Framework], document.title) v(-4pt) line(length: 100%, stroke: 0.4pt + gris-doux) } }, footer: context { set text(size: 8pt, fill: gris-doux) align(right, counter(page).display("1 / 1", both: true)) }, ) #show heading.where(level: 1): it => block(above: 1.6em, below: 0.8em, width: 100%)[ #set text(size: 14pt, weight: "semibold", fill: bleu-formation) #it.body #v(-6pt) #line(length: 100%, stroke: 0.6pt + bleu-formation.lighten(60%)) ] #show heading.where(level: 2): set text(size: 11.5pt, weight: "semibold", fill: bleu-formation) #show heading.where(level: 2): set block(above: 1.3em, below: 0.6em) // Code : le fond et les couleurs viennent du thème modele/code.theme #show raw: set text(size: 8.5pt) // Tableaux : en-tête bleu #set table( stroke: 0.5pt + rgb("#d0d7de"), fill: (_, y) => if y == 0 { bleu-formation } else if calc.even(y) { rgb("#f6f8fa") }, ) #show table.cell.where(y: 0): set text(fill: white, weight: "bold") #show figure.caption: set text(size: 8.5pt, style: "italic", fill: gris-doux) // Texte des tableaux aligné à gauche (la justification crée des blancs dans les colonnes étroites) #show table: set par(justify: false) // Figures : pleine largeur par défaut (une largeur explicite dans le .qmd reste prioritaire) #set image(width: 100%)