Que fait Recherche) ?
<skill-dir>dans cette compétence désigne le répertoire de base de la compétence elle-même, que Claude Code affiche lorsque la compétence est chargée (installée en tant que plugin :${CLAUDE_PLUGIN_ROOT}/skills/d3-poster; copiée manuellement :~/.claude/skills/d3-poster). Remplacez le chemin réel dans chaque commande.<wording-dir>signifie<skill-dir>/../d3-scientific-wording, la compétence de formulation partagée fournie avec chaque plugin D3.
Créez des affiches de recherche professionnelles au format A0 portrait avec la marque D3 (Data Driven Decisions) et l'Université de Würzburg selon le design corporate 2026 de l'université. S'appuie sur la classe baposter pour une disposition en grille, avec une reprise fine de D3 (d3-poster.sty) qui dessine le cadre du modèle d'affiche universitaire (un bloc d'en-tête bleu marine avec le logo blanc de l'université, un titre et des auteurs en blanc, et le sceau bleu ; des barres de section grises avec du texte bleu marine ; un pied de page avec un trait bleu marine, une rangée de logos avec le logo D3 en premier, et un emplacement pour les références), définit la palette D3 (bleu marine universitaire, accent orange D3), et porte les macros \highlight / \keypoint / infobox / card de d3-abstract. Se compile avec XeLaTeX ou LuaLaTeX pour la police maison Inclusive Sans UW ; utilise pdfLaTeX avec un clone d'Helvetica comme solution de repli.
Le sceau dans l'en-tête est un choix temporaire : le livret CD de l'université le remplace par un ornement de faculté dans les communications des facultés et des chaires, et ce package de faculté n'est pas encore publié. Remplacez uw-seal-blue.pdf une fois qu'il le sera.
Fichiers de référence (chargés à la demande)
Le corps de la compétence ci-dessous est le flux de travail ; le matériel de référence long se trouve dans references/. Chargez un fichier de référence lorsque son sujet est abordé :
| Fichier | Charger quand |
|---|---|
references/extraction.md | Sur le point d'extraire le contenu d'un article (n'importe quel niveau). Contient les commandes d'extraction par niveau, l'extraction de figures PDF (vecteurs d'abord), le protocole raster basse résolution, la priorité du format sur disque, l'entretien sur la figure d'architecture. |
references/tikz-recipes.md | Sur le point de dessiner une figure à partir de zéro en TikZ. Contient 4 recettes vérifiées qui se compilent (schéma fonctionnel, pipeline, architecture en couches, comparaison) ainsi que les règles générales TikZ. |
references/error-handling.md | Erreurs de compilation ou bugs de rendu visibles. Contient les 8 problèmes connus (classe manquante, polices manquantes, conflit siunitx \d, dégradé d'en-tête au lieu d'un remplissage uni, erreur Calibri, découpage silencieux, lettres grecques ou symboles disparus, taille du bloc de titre réduite). |
references/dual-agent-review.md | La profondeur de révision est standard ou full (voir Révision). Contient les invites de relecture, la boucle d'itération pour full (limitée à 4 tours), le protocole score-README. |
references/macros-and-styling.md | En train de rédiger le corps de l'affiche et besoin de confirmer les noms de macros, les valeurs de couleurs, les tailles de police, les conventions de tableau. |
Fichiers modèles et ressources
<skill-dir>/
├── SKILL.md # ce fichier
├── baposter.cls # fichier de classe (copié dans chaque projet dans drafts/)
├── example-poster.tex # exemple de référence -- NE PAS copier dans les projets utilisateur
├── references/ # références à divulgation progressive (voir tableau ci-dessus)
└── assets/ # tout ce dossier EST copié dans les projets utilisateur
├── d3-poster.sty
├── logos/ # uw-logo-white.pdf, uw-logo-navy.pdf, uw-seal-blue.pdf, logo-d3.pdf, DataDrivenDecisions.png
└── fonts/ # InclusiveSansUW-{Regular,Italic,Medium,SemiBold,Bold}.ttf, OFL-InclusiveSansUW.txt
Deux règles de placement :
baposter.clsse trouve à la RACINE de la compétence, pas dansassets/.\documentclassn'accepte pas de manière fiable les préfixes de chemin, donc le fichier de classe doit être un frère du fichier .tex au moment de la compilation.example-poster.texse trouve à la RACINE de la compétence, PAS dansassets/. Ne le copiez jamais dans un projet utilisateur. C'est une référence que vous lisez lorsque vous avez besoin de vous souvenir des modèles. Si vous copiezassets/en bloc, vous ne récupérez pasexample-poster.tex— c'est exactement ce qu'il faut, car le livrer avec leposter.texde l'utilisateur confondrait le sélecteur "Document principal" d'Overleaf et laisserait unexample-poster.pdfobsolète. Le projet de l'utilisateur doit contenir UN seul fichier.texdont le nom correspond à son.pdf.
Configuration du projet (emplacement de sauvegarde + structure de dossiers)
Priorité de l'emplacement de sauvegarde
Les affiches sont généralement liées à un article. L'endroit où vous sauvegardez détermine si les collaborateurs peuvent compiler sur Overleaf lorsque LaTeX local n'est pas disponible. Décidez de l'emplacement de sauvegarde AVANT de créer des fichiers :
- Sous-module d'article détecté →
<submodule>/poster/. Si.gitmodulesrépertorie un sous-module qui contient un article (chemin commepaper/,manuscript/,overleaf/, ou tout sous-module dont le contenu inclut un .tex avec\title{}+\begin{abstract}), sauvegardez à l'intérieur de ce sous-module. Convention du laboratoire : les sous-modules d'articles vivent sur GitHub et le projet Overleaf correspondant se synchronise via la synchronisation GitHub d'Overleaf — le dépôt distant seragithub.com/..., pasgit.overleaf.com. - Pas de sous-module mais un dossier d'article existe →
<paper-folder>/poster/. Placez-le toujours sous le dossier de l'article. - Solution de repli →
./poster/à la racine du répertoire de travail actuel.
Détectez avec :
test -f .gitmodules && git submodule status
for sm in $(git config --file .gitmodules --get-regexp path 2>/dev/null | awk '{print $2}'); do
find "$sm" -maxdepth 3 -name "*.tex" -exec grep -l "\\\\begin{abstract}" {} \; 2>/dev/null
done
Affichez et confirmez avec l'utilisateur avant de créer des fichiers :
[HH:MM:SS] EMPLACEMENT DE SAUVEGARDE : <chemin-choisi>/poster/
Raison : [sous-module d'article dans paper/ (hébergé sur GitHub, synchronisé avec Overleaf) | dossier paper/ existe | solution de repli racine du dépôt]
Accessible sur Overleaf ? [oui -- pousser le sous-module sur GitHub, Overleaf se synchronisera | non -- compilation locale uniquement]
Structure de dossiers
<cible-sauvegarde>/poster/
├── progress.md
├── SUMMARY.md
├── drafts/
│ ├── baposter.cls # copié depuis la compétence (frère de poster.tex)
│ ├── assets/ # copié depuis la compétence (d3-poster.sty, logos, polices)
│ ├── figures/ # optionnel : figures spécifiques à l'affiche
│ ├── poster.tex # le seul fichier de travail (versionné via git)
│ ├── poster.pdf # a toujours le même nom que son .tex
│ └── revision_notes.md
└── final/
├── baposter.cls # dupliqué pour téléchargement autonome Overleaf
├── assets/ # dupliqué pour téléchargement autonome Overleaf
├── poster.tex # même nom de fichier que dans drafts/ -- nom invariant
├── poster.pdf
└── README.md # date, titre, lieu, scores de révision
Commandes de configuration :
POSTER_DIR=<chemin-resolu>/poster
mkdir -p "$POSTER_DIR/drafts" "$POSTER_DIR/final"
cp <skill-dir>/baposter.cls "$POSTER_DIR/drafts/baposter.cls"
cp -r <skill-dir>/assets "$POSTER_DIR/drafts/assets"
# NE PAS copier example-poster.tex -- il reste à la racine de la compétence.
Règle de nommage (critique pour Overleaf) : le fichier de travail est toujours poster.tex, produisant poster.pdf. Le nom correspond. Le versionnement utilise git, pas les préfixes de nom de fichier — pas de v1_poster.tex, pas de YYYYMMDD_titre.tex. Une version précédente de cette compétence utilisait de tels préfixes ; en pratique, cela confondait les téléchargements Overleaf (l'utilisateur définissait v2_poster.tex comme document principal, mais le v1_poster.pdf en cache à côté rendait flou le résultat réel).
Pourquoi dupliquer baposter.cls + assets/ à la fois dans drafts/ et final/ ? ~1 Mo par copie, mais cela garantit que chaque dossier est téléchargeable indépendamment sur Overleaf — un collaborateur ouvrant final/ n'a besoin de rien de drafts/.
Squelette du document
TOUTE affiche DOIT commencer par cette structure :
%! TEX program = xelatex
\documentclass[a0paper]{baposter}
\usepackage{relsize}
\usepackage{url}
\usepackage{multicol}
\usepackage{amsmath,amssymb}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage{assets/d3-poster} % Reprise D3 : couleurs, polices, macros
\DeclareMathOperator*{\argmin}{arg\,min}
\renewcommand{\vec}[1]{\boldsymbol{#1}} % Optionnel : vecteurs mathématiques en gras
\begin{document}
\begin{poster}{
columns=2, % PAR DÉFAUT 2. Utilisez 3 UNIQUEMENT lorsque le contenu le justifie vraiment.
grid=false,
eyecatcher=false,
% Cadre universitaire depuis d3-poster.sty : marges de 25 mm, bloc d'en-tête bleu marine,
% pied de page avec rangée de logos et références. Ces deux longueurs correspondent au modèle.
headerheight=\dthreeheaderheight,
colspacing=\dthreecolspacing,
background=plain,
bgColorOne=white,
bgColorTwo=white,
% Barres de section : #ECECEC avec du texte bleu marine en SemiBold. Par boîte, la clé
% `emphasis` donne la barre bleu bleuet avec du texte blanc.
borderColor=d3-headergray,
headerColorOne=d3-headergray,
headerColorTwo=d3-headergray,
headerFontColor=d3-navy,
headerfont=\dthreesectionfont,
headershape=rectangle,
headershade=plain, % remplissage headerColorOne uni ; le `shadeLR` par défaut de baposter est un
% dégradé. Voir references/error-handling.md #4.
headerborder=none,
boxColorOne=white,
boxshade=plain,
boxpadding=0.6em,
textborder=none
}
%%% Œil (vide ; le logo de l'université prend cette place) %%%
{}
%%% Titre -- texte brut ; défini en Blanc Gras dans le bloc d'en-tête bleu marine. Pas de sous-titre par défaut.
{Votre Titre d'Affiche}
%%% Auteurs -- une ligne, blanc, en dessous du titre.
{Nom de l'Auteur, Data Driven Decisions Group\enspace|\enspace [email protected]}
%%% Rangée de logos de pied de page : logo D3 sur les deux premières cellules
{\dthreelogos}
%%% Motivation (colonne 0, ligne 0)
\headerbox{Motivation}{name=Motivation,column=0,row=0}{
Paragraphe d'introduction : pourquoi ce travail est important, ce qui est nouveau, métrique phare.
Utilisez \highlight{} avec parcimonie sur les termes clés.
}
%%% Problème (colonne 0, remplit jusqu'en bas)
\headerbox{Problème}{name=Problem,column=0,below=Motivation,above=bottom}{
Définition formelle du problème. Mathématiques adaptées au domaine.
\keypoint{Phrase clé à retenir.}
}
%%% Approche (colonne 1, en haut)
\headerbox{Approche}{name=Approach,column=1,row=0}{
Méthodologie. Terminez par la figure de présentation de la méthode (pas de légende nécessaire -- décrivez dans le corps du texte).
}
%%% Résultats (colonne 1, remplit jusqu'en bas)
\headerbox{Résultats Empiriques}{name=Results,column=1,below=Approach,above=bottom}{
Boîtes d'information avec métriques + un tableau de comparaison booktabs.
}
%%% Littérature -- emplacement de références en pied de page (3 références, pas de boîte séparée)
\dthreereferences{
Auteur1 (Année, \textit{Lieu}) ; Auteur2 (Année, \textit{Lieu}) ; Auteur3 (Année, \textit{Lieu}).
}
\end{poster}
\end{document}
CRITIQUE : Utilisez \usepackage{assets/d3-poster} (avec le préfixe assets/) — le wrapper s'attend à être chargé depuis une racine de projet qui a assets/d3-poster.sty et un frère baposter.cls.
Ce que d3-poster.sty dessine (à partir du modèle d'affiche A0 de l'université ; la géométrie s'adapte au format du papier, donc A1 et autres tailles conservent les proportions) :
- Marges de 25 mm. Bloc d'en-tête bleu marine sur toute la largeur, 119 mm de haut, avec le logo blanc de l'université en haut à gauche, le titre (Blanc Gras, 50 pt sur A0, comme dans le modèle) et les auteurs (blanc, 34 pt) dans le champ de texte du modèle, et le sceau bleu aligné avec les bords droit et inférieur du bloc.
- Barres de section d'environ 24 mm de haut :
#ECECECavec du texte bleu marine en SemiBold. Ajoutezemphasisaux clés d'une boîte pour le deuxième style du modèle, une barre bleu bleuet avec du texte blanc. - Pied de page sous les colonnes : un trait bleu marine ; à gauche une rangée de logos de cellules 72 × 39 mm remplies à partir du 5ème argument de
\begin{poster}(\dthreelogos= le logo D3 sur les deux premières cellules, environ 30 mm de haut ;\dthreelogocell{file.pdf}ajoute un logo partenaire, au maximum trois de plus) ; à droite l'emplacement Références (\dthreereferences{...}). - Les affiches plus anciennes compilent toujours : leur bloc d'options conserve l'ancien aspect des barres, l'en-tête et le pied de page sont de toute façon dessinés, et
\dthreelogosremplit désormais la rangée de logos du pied de page au lieu de l'en-tête.
Positionnement des boîtes, colonnes, titre
Nombre de colonnes — 2 par défaut, 3 uniquement si nécessaire
Utilisez columns=2 par défaut. Utilisez columns=3 UNIQUEMENT lorsque :
- L'article a 5 sections de contenu véritablement distinctes ou plus qui ne peuvent pas être combinées (rare)
- L'utilisateur le demande explicitement pour un lieu qui l'exige
Dans chaque mise en page, mettez la Littérature dans l'emplacement Références du pied de page avec \dthreereferences{...} (une courte liste, par ex., "Auteur1 (Année, Lieu) ; Auteur2 (Année, Lieu) ; ..."), pas dans une boîte. Le modèle universitaire réserve la moitié droite du pied de page pour cela, et cela évite la boîte de Littérature à l'étroit que 3 colonnes a tendance à produire au format A0 portrait. 3 à 5 courtes références tiennent ; un bloc plus long est composé plus petit et le journal le signale.
Grille par défaut à 2 colonnes
+-----------------------------------------------+
| [logo uni] Titre, auteurs (blanc) [sceau] | bloc d'en-tête bleu marine
+-----------------------+-----------------------+
| Motivation | Approche |
| (col 0, en haut) | (col 1, en haut) |
+-----------------------+-----------------------+
| Problème | Résultats Empiriques |
| (col 0, remplit | (col 1, remplit |
| jusqu'en bas) | jusqu'en bas) |
+-----------------------+-----------------------+
| -------------------- trait bleu marine ------
| [logo D3] [partenaire]| Références | pied de page
+-----------------------+-----------------------+
Variante à 3 colonnes (rare)
+---------------+---------------+---------------+
| Motivation | Approche | Résultats |
| (col 0) | (col 1, | Empiriques |
+---------------+ pleine | (col 2, |
| Problème | hauteur) | pleine |
| (col 0) | | hauteur) |
+---------------+---------------+---------------+
| pied de page : rangée de logos (D3 en premier)| Références |
+---------------+---------------+---------------+
Clés de \headerbox
| Clé | Objectif | Exemple |
|---|---|---|
name=X | Identifiant unique pour les références croisées | name=Motivation |
column=N | Index de colonne basé sur 0 | column=0 |
row=N | Index de ligne basé sur 0 depuis le haut | row=0 |
below=Y | Positionner directement en dessous de la boîte Y | below=Motivation |
above=bottom | Étirer jusqu'au bas de la page | above=bottom |
height=1 | Remplir toute la hauteur de la colonne | rarement nécessaire en 2 colonnes |
span |
…
[Le reste du contenu a été tronqué pour la traduction]