`, `>D-`, `>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 `
`
- **Documents complets** prêts à compiler avec en-têtes AMC
## Installation
```bash
pip install beautifulsoup4
```
## Utilisation
### Exemples de base
```bash
# 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
```latex
% Questions générées automatiquement
\element{general}{
\begin{question}{q1}
...
\end{question}
}
```
### Mode document complet
```latex
\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 ``
- Bonnes réponses marquées par `` ou `>D-`
- Séparation par `
` ou détection automatique
## Dépendances LaTeX
- `automultiplechoice`
- `minted` (nécessite `pygments`)
- `multicol`
- `csvsimple` (pour mode CSV)
## Compilation
```bash
pdflatex -shell-escape document.tex
```
## License
MIT