La figure la plus dangereuse d’un manuscrit est celle qui a été faite à la main il y a trois révisions. Quand l’analyse change et que le PNG ne change pas, l’article ment sans bruit. Le remède : mettre le code dans le manuscrit et laisser chaque compilation régénérer le graphique à partir des données — Quarto l’exécute, Folio Writer orchestre.
N’importe où dans un document Folio Writer, écrivez une cellule exécutable au lieu de coller une image :
```{python}
#| label: fig-eos
#| fig-cap: "Third-order Birch–Murnaghan fit to the P–V data."
import pandas as pd, matplotlib.pyplot as plt
d = pd.read_csv("Research/pv-data.csv")
plt.plot(d.V, d.P, "o"); plt.plot(d.V, fit(d.V))
plt.xlabel("V (ų)"); plt.ylabel("P (GPa)")
```
Compilez avec Moteur de rendu = Quarto et la cellule s’exécute : le CSV est lu, l’ajustement est tracé, et la figure finie atterrit dans le PDF — ou dans le fichier Word, ou dans le HTML — numérotée, légendée et citée avec @fig-eos comme n’importe quelle autre figure. R fonctionne exactement de la même façon :
```{r}
#| label: fig-spectra
#| fig-cap: "Raman spectra by pressure step."
library(ggplot2)
ggplot(read.csv("Research/spectra.csv"),
aes(shift, intensity, color = factor(P))) + geom_line()
```
Mettez à jour le fichier de données, recompilez, et chaque figure est à jour. Pas d’étape d’export, pas de « quel script a produit la figure 3 ? », pas de graphiques périmés — le manuscrit est la chaîne de traitement.
brew install quarto) et Folio Helper, gratuit, qui permet à l’app App Store en bac à sable d’utiliser vos outils locaux.pip install jupyter matplotlib pandas). Folio Writer oriente automatiquement Quarto vers un interpréteur compatible Jupyter, pour que les cellules s’exécutent avec un Python capable de les faire tourner — et non avec le premier python3 venu dans le PATH.knitr et rmarkdown — le moteur R standard de Quarto.Les options de cellule Quarto s’écrivent sous forme de lignes de commentaire #|. Cinq d’entre elles couvrent presque tous les besoins d’un manuscrit :
```{python}
#| label: fig-eos # cite it as @fig-eos
#| fig-cap: "Compression curve with third-order fit."
#| echo: false # figure in the paper, code not
#| fig-width: 6.5 # inches, match the journal column
#| warning: false # keep library chatter out of the PDF
...
```
Pour un manuscrit entier où aucun code ne doit jamais s’afficher, définissez-le une fois dans le document Metadata plutôt que cellule par cellule :
execute: echo: false warning: false
#| cache: true à une cellule coûteuse — Quarto ne la réexécute que lorsque son code change, si bien que recompiler après une retouche du texte ne réajuste pas votre modèle.
Trois causes couvrent presque tous les cas. Mauvais moteur de rendu : le code ne s’exécute que si le moteur de rendu de la fenêtre de compilation est Quarto — avec pandoc ou Typst, les cellules passent telles quelles sous forme de blocs de code littéraux (c’est voulu : ces chaînes n’exécutent jamais rien). Moteur manquant : Compiler ▸ Configurer les outils externes… vérifie vos outils ; pour les cellules Python, il vous faut Jupyter sur l’interpréteur (pip install
jupyter), pour R il vous faut knitr + rmarkdown. Hypothèses sur les chemins : les cellules s’exécutent avec le projet comme répertoire de travail ; lisez donc les données sous la forme Research/pv-data.csv, et non par un chemin absolu venu de votre autre machine — garder des chemins relatifs au projet est aussi ce qui rend le manuscrit reproductible pour vos coauteurs.
Cellules exécutables et figures ordinaires coexistent. Une photographie ou un schéma dessiné à la main reste une image Markdown normale ; les graphiques issus des données deviennent des cellules. La vérification du manuscrit de Folio Writer surveille même les figures statiques — en signalant une figure plus ancienne que le script qui la dessine — de sorte que, quel que soit le chemin suivi par une figure, elle ne peut pas devenir obsolète en silence.
Comme le moteur de rendu Quarto est le même que celui qui alimente les formats de revues, les figures dynamiques fonctionnent aussi dans les modèles des éditeurs : ajoutez une extension de revue (AGU, Elsevier, Copernicus…), définissez quarto-to: dans les métadonnées, et la soumission compilée contient des figures générées à partir de votre analyse vivante — reproductibles à partir des fichiers bruts du projet, par n’importe qui, en une seule commande.