Système LaTeX BFCours

Pipeline en 3 skills : Créer → Rédiger → Compiler

Formation GT IA & Maths Scripté + IA Package bfcours

Architecture : Pipeline en 3 phases

Phase 1 — tex-document-creator
Templates → Script Python → Structure de projet
0 tokens
Phase 2 — bfcours-latex
Conventions + MCP → Agent IA → Contenu LaTeX
IA autonome
Phase 3 — tex-compiling-skill
Profils → Script Python → PDF final
0 tokens
PDF compilé, prêt à imprimer
Chaque skill est invocable séparément, ou enchaîné via /createTex

Phase 1 : tex-document-creator

100% scripté, 0 token IA

Scripts Python qui créent la structure de projet à partir de templates configurables.

Scripts disponibles :

  • create_document.py — Crée le projet complet
  • list_templates.py — Liste les templates
  • get_template_info.py — Champs d'un template

Templates fournis :

Cours, Devoir, DM, Exercices, Activité, AP, Plan de séquence, Fiche récap...

Vos propres templates ?

Demandez à l'agent comment intégrer vos modèles personnalisés au système.

Exemple : créer un cours

python .claude/skills/tex-document-creator/scripts/create_document.py \
  --destination "C:/Cours/1ere_spe/Sequence-Derivees" \
  --name "Cours_Derivees" \
  --template "Cours" \
  --field "niveau=$\mathbf{1^{\text{ère}}}$" \
  --field "theme=Dérivation" \
  --create-sections --claude-instructions

Résultat : Structure complète créée en < 1 sec

Fichier principal, enonce.tex, sections/, enonce_figures.tex, CLAUDE.md

Fiabilité : 100%

Résultat déterministe, décidé par l'utilisateur via les paramètres.

Phase 2 : bfcours-latex

Le coeur IA du système — Rédaction de contenu pédagogique en respectant les conventions bfcours

Conventions

Environnements didactiques, formatage, ligatures, espaces réponses

latex-search

Recherche dans les packages LaTeX installés (localtexmf inclus)

Compétences

Programmes officiels de l'Éducation Nationale (6e → Tle)

L'agent s'inspire du code LaTeX existant sur votre machine pour produire des documents techniques fidèles.

Conventions critiques (résumé)

Remplacements obligatoires

  • enumeratetcbenumerate
  • tabulartcbtab
  • \textbf\acc{}

Environnements didactiques :

Definition, Propriete, Theoreme, Demonstration, Exemple, Remarque, EXO

Formatage clé :

  • \acc{Calculer} pour les verbes d'action
  • \voc{mot} pour le vocabulaire (1re occurrence)
  • \tcbitempoint{N} pour l'attribution des points
  • \exocorrection — correction intégrée dans l'EXO

Phase 3 : tex-compiling-skill

100% scripté, 0 token IA

Scripts Python de compilation avec profils configurables et analyse d'erreurs automatique.

python .claude/skills/tex-compiling-skill/scripts/quick_compile.py \
  --file "Cours_Derivees.tex" --passes 2

Profils de compilation :

  • lualatex_reims (par défaut) — LuaLaTeX 1 passe
  • simple — pdflatex 2 passes
  • standard — pdflatex 3 passes
  • complete — pdflatex 3 passes + biblio

L'agent sait choisir le bon profil selon le document.

Nettoyage auto — supprime .aux, .log, .toc, etc.

Diagnostic JSON — erreurs avec n° de ligne + suggestions

Skills tiers utilisés

latex-search

  • Un skill de recherche dans les packages
  • Recherche floue /exacte de commandes LaTeX
  • Inclut localtexmf (vos packages perso)
L'agent peut apprendre à utiliser un package grâce à son code source.

pdf2tikz

  • Extraction vectorielle PDF → TikZ
  • Analyse de disposition (layout)
  • Récupère les designs complexes
Toutes les informations nécessaires pour qu'un agent convertisse un document PDF existant en LaTeX

Skill programmes-officiels

  • Programmes officiels (BO)
  • Recherche par niveau et thème
  • Analyse de couverture ou clarification.
Sourcing automatique des compétences avec preuve à l'appui.

pdf2tikz en détail

Cas d'usage : Vous avez un PDF avec des figures géométriques, des graphiques ou une mise en page complexe que vous voulez reproduire en LaTeX éditable.

# Analyser la disposition d'un document
python .claude/skills/pdf2tikz/scripts/layout_analyze.py doc.pdf

# Extraire les figures en TikZ
python .claude/skills/pdf2tikz/scripts/pdf2tikz.py doc.pdf --page 1 --svg-bridge

Détections automatiques :

  • Zones multi-colonnes → MultiColonnes
  • Tableaux → tcbtab
  • Graphiques → code TikZ
  • Boîtes colorées → tcolorbox
  • Flèches d'annotation

Workflow unifié : /latex

Une seule commande enchaîne les 3 phases automatiquement

pdf2tikz / programmes-officiels
Se documenter • Script • 0 tokens
tex-document-creator
Script • 0 tokens
bfcours-latex
IA • Rédaction
tex-compiling-skill
Script • 0 tokens
PDF

Phases scriptées (1 ; 2 & 4)

Résultat déterministe, fiabilité 100%. Les paramètres sont choisis par l'utilisateur ou déduits par l'agent.

Phase IA (3)

L'agent rédige le contenu en s'appuyant sur les conventions, les exemples et le code LaTeX existant sur la machine.

Architecture de projet type

Nom_projet/ ├── Nom_projet.tex # Fichier principal (compilé par Phase 3) ├── ELEVE_Nom_projet.tex # Variante sans corrections [optionnel] ├── enonce.tex # Contenu principal (rédigé par Phase 2) ├── enonce_figures.tex # Figures TikZ indexées par \tikzfig{CODE} ├── CLAUDE.md # Journal de bord pour les agents ├── sections/ # Contenu réparti (cours longs) ├── images/ # Images PNG [optionnel] └── annexes/ # Scripts secondaires [optionnel]

Créé par Phase 1

Structure, fichier principal, fichiers d'entrée — tout est généré par le script.

Rempli par Phase 2

L'agent écrit dans enonce.tex et sections/, jamais dans le fichier principal.

Environnements didactiques bfcours

\begin{Definition}[Nombre dérivé]
Soit $f$ une fonction définie sur un intervalle $I$
et $a \in I$. On dit que $f$ est \voc{dérivable} en $a$ si...
\end{Definition}

\begin{Propriete}[Dérivées usuelles]
Les \acc{fonctions usuelles} admettent les dérivées suivantes :
\begin{tcbenumerate}[2]
    \tcbitem $f(x) = x^n \Rightarrow f'(x) = nx^{n-1}$
    \tcbitem $f(x) = \sin(x) \Rightarrow f'(x) = \cos(x)$
\end{tcbenumerate}
\end{Propriete}

Cours : Definition, Propriete, Theoreme, Demonstration, Exemple, Remarque, Notation

Exercices : EXO avec \tcbitempoint{N}, \exocorrection, codes compétences

Exercices : environnement EXO

\def\rdifficulty{1.5}
\begin{EXO}{Titre Compétence}{code_competence}
\tcbitempoint{2}\acc{Calculer} la valeur de $f(3)$
en donnant un \acc{résultat simplifié}.

\exocorrection

$f(3) = 3^2 - 2 \times 3 + 1 = 4$
\end{EXO}

Collège : espaces réponses systématiques

\repsim, \tcfillcrep, \begin{crep}

Lycée : espaces réponses optionnels

Rédaction sur copie par défaut.

En résumé

Créer (script)
Rédiger (IA)
Compiler (script)
PDF

Points forts

  • Phases 1 & 3 scriptées → 0 token, 100% fiable
  • Phase 2 IA → conventions bfcours + packages LaTeX locaux
  • Compétences officielles intégrées automatiquement
  • pdf2tikz pour récupérer des designs PDF existants

À retenir

  • Jamais enumerate, tabular, \textbf
  • Toujours \acc{}, \voc{}, tcbenumerate
  • Templates personnalisables (demandez à l'agent)
  • Profils de compilation adaptables

Questions ?