Que fait paper-figure ?
Dessine une figure d'article à partir d'éléments distincts et modifiables, puis mesure-la à la taille à laquelle elle sera imprimée.
Principes
- Pas de modèles de génération d'images. C'est vous (ou l'auteur) qui dessinez chaque élément.
- Livrez la figure sous forme de tableau sur un canevas Claude Design dès que cet outil est disponible. C'est obligatoire. Créez ou mettez à jour le tableau d'abord, afin que l'auteur puisse déplacer, restyler et commenter chaque élément. Ne terminez jamais avec seulement un PNG, un PDF ou un fichier HTML local. Dessinez des tableaux HTML bruts sur le disque uniquement lorsque la session ne dispose pas de l'outil canevas, et mentionnez-le dans le rapport (
references/drawing-boards.md). - Le PDF et le PNG sont des exportations, réalisées lorsque l'auteur le demande ou que la figure est finale : un PDF vectoriel avec du texte modifiable pour LaTeX, et un PNG 300 dpi généré à partir de celui-ci pour Word et les diapositives.
- Le texte de la figure utilise exactement les noms du corps de l'article, dans la langue de l'article.
- La structure est préservée. Vous pouvez modifier les formes et la disposition. Vous ne pouvez pas modifier les modules, les connexions ou les limites sans demander (voir "Registre de structure").
- Choisissez la conférence cible avant de dessiner. Les conférences divergent : Nature limite le texte des figures à 7 pt, AAAI exige au moins 9 pt. Si l'auteur n'a pas choisi, sélectionnez la conférence typique de son domaine et mentionnez-le dans le rapport.
- La barre de qualité est celle d'une figure de grande conférence. Regardez d'abord les figures de référence, construisez des candidats, et laissez l'auteur choisir. Ne vous arrêtez pas à des boîtes et des flèches.
- Dites "passe" ou "aucun chevauchement" seulement après avoir mesuré avec
scripts/figure_audit.pyet avoir examiné le rendu vous-même. Cela remplace toute valeur par défaut "ne pas vérifier" de la surface de dessin. - La critique visuelle est consultative. Elle compte mal les éléments et manque les connexions. Jugez la structure uniquement avec le registre et
--compare.
Flux de travail
- Lisez les sources : le brouillon de l'article, le code, et la propre figure de l'auteur. Relisez-les chaque fois que l'auteur dit "refaites-le".
- Construisez le registre de structure.
- Rédigez le brief et choisissez la conférence (
references/venues.md). - Ouvrez 2 à 3 figures de référence et rédigez la feuille de style.
- Dessinez 2 à 3 candidats sur le canevas qui diffèrent par la disposition ou le vocabulaire des formes, pas par des modifications mineures.
- Auditez, regardez, comparez, critiquerez. Corrigez jusqu'à ce que les erreurs soient nulles.
- Affichez la feuille de comparaison. L'auteur choisit.
- Exportez une fois que l'auteur a choisi, placez la figure dans le manuscrit, et examinez cette page.
Registre de structure (avant toute modification)
Une figure représente le système conçu par l'auteur. Extrayez chaque élément ci-dessous de la figure de l'auteur, de l'article et du code dans un tableau.
| Type | Éléments | Source |
|---|---|---|
| Modules (boîtes) | noms exacts | figure originale / chemin du code / section de l'article |
| Connexions (flèches) | expéditeur → récepteur : nom de la donnée | le code qui produit cette donnée |
| Limites | ce que chaque système, compétence ou outil englobe | figure originale / code |
| État et ressources | état partagé, budgets, modèle partagé, corpus, paramètres appris | figure originale / code |
| Décisions et boucles | résultats de décision, chemins de rétroaction et de récurrence | fonction de politique / algorithme |
| Entrées et sorties | entrée utilisateur, sortie finale, tenseurs d'entrée et de sortie | figure originale / code |
Lorsque vous dessinez la méthode de quelqu'un d'autre, construisez le registre à partir de l'algorithme de l'article original et du code officiel, et citez-les.
- Rien dans le registre ne peut disparaître, être renommé ou franchir une limite. Si cela doit changer (par exemple, la figure est en désaccord avec le code), demandez à l'auteur avant de modifier.
- N'inventez pas de modules ou de flèches, et ne supprimez pas de connexions pour simplifier. Notez les omissions délibérées dans la légende ou le rapport.
- La disposition peut changer. La direction du flux et le confinement ne le peuvent pas.
- Les figures de détail fractionnent la figure d'ensemble. Les noms, les couleurs et les limites doivent correspondre.
- Vérifiez chaque flèche par rapport au code : elle doit partir du module qui produit réellement ces données.
- Après modification, vérifiez le registre ligne par ligne et exécutez
python3 scripts/figure_audit.py NEW --venue icml --compare ORIGINAL. Le script ne peut pas voir les flèches non étiquetées ; vérifiez-les par rapport au registre manuellement. - Commencez le rapport par "Modifications de structure : aucune" ou la liste des modifications et si l'auteur les a approuvées.
Travailler avec l'auteur
- Le propre dessin de l'auteur est la référence de base. Supprimez et alignez-vous par-dessus. Ne remplacez pas sa structure ou son style en bloc.
- N'écrasez jamais l'original. Placez chaque nouvelle version à côté (
Fig2_v2). L'auteur confirme. - Si l'auteur a modifié le tableau à la main, relisez le dernier fichier et travaillez dessus.
- Ajoutez un type d'élément à la fois. Ajouter des panneaux d'étape, des pastilles et des boîtes de sortie en même temps rend la figure trop complexe.
- Conservez les étapes voisines sous forme de boîtes en pointillés avec leurs vrais noms. Ne les supprimez pas et ne les réduisez pas à une flèche ou à un texte gris.
- Signalez uniquement ce qui a changé, par figure. Si vous trouvez une divergence avec l'article ou le code, dites-le avant de modifier la figure.
Brief, références, feuille de style
Brief (un par figure)
Rôle : vue d'ensemble (structure + procédure) / détail d'étape / bloc d'architecture
Type de figure : A pipeline système ou agent / B modèle ou architecture
Conférence : définit la largeur placée et le px du texte (references/venues.md)
Point à retenir : une ligne
Faits à garder : le registre de structure
Laisser de côté : les chiffres de résultat, les phrases qui appartiennent au corps, les paramètres tels que les noms de modèles
Figures de référence (2 à 3)
- Ordre de préférence : l'article original de la méthode ou le dépôt officiel ; un article récent dans la même conférence avec le même type de figure ; les figures antérieures de l'auteur.
- Ouvrez chacune et notez : le vocabulaire des formes, la signification de chaque couleur, les polices et la notation des variables, le squelette de la disposition, la quantité de texte, et ce qu'il ne faut pas imiter.
- Ne reprenez que les conventions. Ne redessinez jamais une figure de référence et ne reproduisez pas sa palette et sa composition.
Feuille de style (une par article)
- Chaque figure d'un article utilise un vocabulaire visuel unique : police, px du texte, couleurs et leurs significations, formes, épaisseurs de trait et de bordure, rayon de coin, pointes de flèche.
- Avec
scripts/dc_board.py, le dictionnaireSTYLEest la feuille de style. Modifiez-le là, jamais par élément.
Règles de composition
- Une boîte ne contient qu'un nom de fonction. Les phrases explicatives vont dans le texte du corps.
- Une flèche porte une étiquette de nom de donnée. Ne numérotez pas les données.
- Pas de noms génériques comme A/B/C ou "Vers B / Depuis A". Utilisez les vrais noms de modules.
- Une limite n'englobe que la partie qui effectue réellement ce travail.
- Le texte des boîtes sont des mots-clés : pas de phrases, rien de plus de 15 mots, pas de texte de corps collé, pas de listes d'équations. Un court exemple de donnée est l'exception.
- Pas de badges de numéro d'étape sur les étapes. Pas de titre à l'intérieur de la figure ; le titre est la légende.
- Une vue d'ensemble montre la structure et la procédure ensemble : entrée → processus → sortie se lit de gauche à droite en quelques secondes, les boucles de rétroaction sont en pointillés, et la sortie est clairement visible.
- Faites passer un exemple concret à travers toutes les figures de détail, sous forme de petites puces à l'intérieur des boîtes.
- Envisagez de fusionner la vue d'ensemble et le détail en panneaux a et b d'une seule figure (empilés ou lignes de zoom macro-micro). Construisez les deux comme candidats.
- En cas de conflit entre les règles, décidez dans cet ordre : les relations et la direction correspondent au code et à l'article → le flux se lit en quelques secondes → lisible à la taille d'impression → alignement → esthétique.
Vocabulaire des formes, polices, couleurs et traits : references/style.md. Choisissez le vocabulaire A (pipelines système : cartes d'icônes, puces, panneaux) ou B (architectures : la forme indique le type) et ne les mélangez pas dans un même article.
Taille
Texte imprimé (pt) = px du texte × largeur placée (pt) ÷ largeur du tableau (px). Le même tableau s'imprime à des tailles différentes dans différentes conférences, donc remesurez à chaque changement de conférence. Préréglages et tailles en px : references/venues.md.
- Gardez les tailles de texte presque uniformes dans une figure. Ne réduisez pas certains textes pour les faire entrer : déplacez le texte vers la légende, agrandissez la boîte ou le tableau, coupez la ligne, ou fractionnez la figure.
- Le texte ne doit pas sortir de sa boîte ni se trouver à moins de 6 px de la bordure.
- Cinq boîtes ou plus dans une rangée manquent de largeur : coupez les titres sur 2 à 3 lignes, puis passez à deux rangées.
- Une figure large va à pleine largeur de texte (
figure*). Dans une colonne, son texte est réduit de moitié. - Avec plusieurs panneaux, alignez les rangées exactement ou séparez-les de 7 px ou plus.
Boucle d'audit
Configuration : pip install playwright numpy pillow && python3 -m playwright install chromium
(poppler-utils permet la vérification PDF).
python3 scripts/figure_audit.py project/Fig2.dc.html --venue icml --png fig2.png # mesurer + rendre
python3 scripts/figure_audit.py project/Fig2.dc.html --venue nature --column # figure sur une colonne
python3 scripts/figure_audit.py project/Fig2.dc.html --placed-mm 165 --min-pt 8 # conférence sans préréglage
python3 scripts/figure_audit.py project/Fig2.dc.html --venue icml --cvd fig2 # gris + daltonien
python3 scripts/figure_audit.py project/Fig2_v2.dc.html --venue icml --compare project/Fig2.dc.html # étiquettes conservées ?
- Corrigez jusqu'à ce que ERROR soit 0 : texte en dessous ou au-dessus des limites, texte hors de sa boîte, texte qui se chevauche, texte hors du canevas, étiquette manquante par rapport à l'original. Pour chaque WARN (texte touchant une bordure, texte traversant une ligne, glyphes de secours, texte sur fond gris, traits en dessous du minimum, alignement approximatif), zoomez sur le rendu et décidez.
- Regardez le rendu à la taille placée, et les trois images
--cvd. - Vérifiez à nouveau les flèches et les étiquettes par rapport au registre, au code et à l'article.
- Notez avec le tableau de critique et comparez avec les figures de référence.
- Conservez le fichier précédent à chaque tour et enregistrez uniquement ce qui a changé.
Ordre de correction (empêche les reprises) : canevas et marges → grandes régions et ordre d'empilement → tailles des formes → remplissages et bordures → extrémités des connecteurs → texte → décoration.
Terminé signifie les trois : l'audit passe, vous avez regardé la taille placée, et la critique atteint la note de passage. Un audit réussi seul ne suffit pas. Si des problèmes persistent après cinq tours, la disposition elle-même est erronée : dites-le à l'auteur et décidez ensemble.
Candidats et critique
Créez 2 à 3 tableaux avec la même structure et une disposition ou un vocabulaire différent (panneaux a/b vs lignes de zoom, gauche à droite vs bas en haut, vocabulaire A vs B). Empilez les candidats et les figures de référence en une seule image et montrez-la :
from PIL import Image
ims = [Image.open(p).convert("RGB") for p in ["vA.png", "vB.png", "ref.png"]]
W = 1584; ims = [im.resize((W, round(im.size[1] * W / im.size[0]))) for im in ims]
sheet = Image.new("RGB", (W, sum(im.size[1] + 30 for im in ims)), "white"); y = 0
for im in ims: sheet.paste(im, (0, y)); y += im.size[1] + 30
sheet.save("compare_sheet.png")
Notez chaque dimension de 0 à 2,5 (total 10). Tout veto met cette dimension à 0.
| Dimension | Signification | Veto |
|---|---|---|
| Fidélité | montre la méthode dans le cadre de la légende ; une simplification raisonnable est acceptable | module ou connexion inventé, flux inversé, connexion obligatoire manquante, hors cadre, texte cassé ou formules fausses |
| Concision | un résumé visuel avec un bon rapport signal/bruit | phrases dans les boîtes (plus de 15 mots), texte du corps collé, listes d'équations |
| Lisibilité | flux en un coup d'œil, texte lisible | titre ou légende à l'intérieur de la figure, étiquettes redondantes, chevauchements, texte minuscule ou inégal, flux embrouillé |
| Esthétique | finition de grande conférence | artefacts de grille, formes cassées, couleurs néon ou criardes, clip art, polices mélangées, mauvais alignement, fond noir |
Notes de passage : journal 8,5, conférence 8,0, thèse 8,0, poster 7,0, diapositives 6,5. Pour chaque dimension, écrivez aussi "meilleur / égal / pire que la référence" avec une ligne de raisonnement.
Exportation
python3 scripts/dc_export.py <root> Fig2.dc.html --out paperfigs --venue icml
- Écrit
Fig2.pdf(vectoriel, taille du tableau) etFig2.png(300 dpi à la largeur placée). - La vérification PDF doit passer : toutes les polices intégrées, pas de polices Type 3, pas d'images matricielles. En cas d'échec, corrigez d'abord la liste des polices (
references/style.md). - LaTeX :
\includegraphics[width=\textwidth]{figures/fig2.pdf}à l'intérieur defigure*. Ne réduisez pas avec\resizeboxouscale=. Les figures sur une colonne utilisentfigureet\columnwidth. - Word et diapositives : insérez le PNG à la largeur de la figure, puis vérifiez cette page pour les chevauchements et les sauts de page.
- Sauvegardez la figure précédente avant de la remplacer dans le manuscrit, et ne remplacez qu'après la décision de l'auteur.
- Les légendes suivent le modèle de la conférence. Indiquez dans la légende ce que signifient les symboles d'exemple, ce qui a été volontairement omis et que l'exemple est illustratif.
Interdictions
- Ajouter, supprimer ou renommer un module, une connexion ou une limite sans la confirmation de l'auteur.
- Utiliser un modèle de génération d'images, livrer une figure finale uniquement matricielle, ou copier une figure de référence.
- Terminer avec seulement un PNG, un PDF ou un fichier local lorsqu'un outil canevas est disponible.
- Mettre des chiffres de résultat dans une figure de méthode, ou varier les règles de couleur, la taille du texte ou le vocabulaire entre les figures d'un même article.
- Mettre du texte sur fond gris, utiliser des bordures CSS en px fractionnaires, ou livrer un PDF avec des polices Type 3.
- Écraser l'original de l'auteur, intervertir une figure dans le manuscrit sans demande, ou choisir le candidat pour l'auteur.
- Prétendre "lisible" ou "aucun chevauchement" sans avoir mesuré.
Fichiers
| Fichier | Utilisation |
|---|---|
scripts/dc_board.py | construit des tableaux à partir de Python court : cartes, cartes d'icônes, trapèzes, cercles d'opération, tenseurs, panneaux, flèches |
scripts/figure_audit.py | mesure une figure à la taille d'impression ; --venue, --compare, --cvd |
scripts/dc_export.py | tableau → PDF vectoriel + PNG 300 dpi, avec vérification des polices et des images matricielles PDF |
references/venues.md | préréglages des conférences : largeurs, règles énoncées, plus petit texte en px |
references/style.md | vocabulaires de formes A et B, polices, couleurs, traits, densité |
references/drawing-boards.md | dessin sur un canevas Claude Design ou sous forme de tableaux HTML bruts ; appels à dc_board.py ; notes TikZ |
references/credits.md | sources des procédures empruntées et leurs licences |
examples/ | figures exécutables qui passent l'audit : react-agent (vocabulaire A), transformer-block (vocabulaire B), rag-pipeline (minimal) |