Conversion des QCM BNS au format auto-multiple-choice
Find a file
2025-08-26 19:07:43 +02:00
C1 remove C1/vs files 2025-08-26 18:39:32 +02:00
C2 Ajout C2.pdf 2025-08-26 18:50:54 +02:00
C3 Ajout C3.tex + C3.pdf 2025-08-26 18:58:56 +02:00
C4 Ajout C4.tex + C4.pdf 2025-08-26 19:07:43 +02:00
LICENSE Initial commit 2025-08-20 08:04:22 +00:00
qcm_converter.py Actualiser qcm_converter.py 2025-08-20 08:14:14 +00:00
quick-push.sh QCM C1 2025-08-26 18:38:28 +02:00
README.md Actualiser README.md 2025-08-20 08:12:37 +00:00

QCM HTML to LaTeX Converter

Convertisseur Python pour transformer des QCM HTML vers le format LaTeX compatible avec Auto Multiple Choice (AMC). Gère intelligemment le code Python avec coloration syntaxique via minted.

Fonctionnalités principales

  • Conversion HTML → LaTeX AMC avec gestion complète du code Python
  • Extraction automatique du code dans des fichiers séparés avec \inputminted
  • Layouts intelligents : horizontal, vertical ou multicol selon la complexité
  • Détection robuste des bonnes réponses (support <span class="ok">, >D-, &gt;D-)
  • Formatage automatique du code avec sauts de ligne à 60 caractères
  • Échappement LaTeX complet des caractères spéciaux (%, &, $, etc.)
  • Séparation automatique des questions multiples sans balises <hr>
  • Documents complets prêts à compiler avec en-têtes AMC

Installation

pip install beautifulsoup4

Utilisation

Exemples de base

# Conversion simple (questions seules)
python qcm_converter.py input.html

# Document LaTeX complet
python qcm_converter.py input.html -f

# Avec optimisations espace
python qcm_converter.py input.html -f --multicol --multicol-columns 4

# Mode CSV pour copies multiples
python qcm_converter.py input.html -f --csv

# Groupe personnalisé avec debug
python qcm_converter.py input.html -f -g chapitre1 --debug

Options disponibles

Option Description Défaut
-f, --full-document Document LaTeX complet Questions seules
-o, --output Fichier de sortie qcm.tex
-c, --codes-dir Répertoire des fichiers Python codes/
-g, --element-group Groupe d'éléments AMC general
--csv Mode CSV (nécessite liste.csv) Mode simple
-d, --debug Mode debug détaillé Désactivé

Options de mise en page

Option Description Défaut
--multicol Active multicol pour réponses courtes Désactivé
--multicol-columns N Nombre de colonnes multicol 2
--layout-threshold N Seuil pour layout horizontal 50
--force-horizontal Force layout horizontal Auto
--force-vertical Force layout vertical Auto

Structure de sortie

Mode questions seules

% Questions générées automatiquement

\element{general}{
\begin{question}{q1}
...
\end{question}
}

Mode document complet

\documentclass[12pt,a4paper]{article}
\usepackage[francais,bloc]{automultiplechoice}
\usepackage{minted}
% ... en-têtes AMC complets

\element{general}{
\begin{question}{q1}
...
\end{question}
}

\sujet
\end{document}

Formats d'entrée supportés

  • QCM HTML avec questions numérotées (Q1, Q2, etc.)
  • Code Python dans <pre><code class="python">
  • Bonnes réponses marquées par <span class="ok"> ou >D-
  • Séparation par <hr> ou détection automatique

Dépendances LaTeX

  • automultiplechoice
  • minted (nécessite pygments)
  • multicol
  • csvsimple (pour mode CSV)

Compilation

pdflatex -shell-escape document.tex

License

MIT