Actualiser README.md
This commit is contained in:
parent
930c7c8185
commit
a4302943a6
1 changed files with 115 additions and 2 deletions
117
README.md
117
README.md
|
|
@ -1,3 +1,116 @@
|
|||
# ConvertQCM
|
||||
# QCM HTML to LaTeX Converter
|
||||
|
||||
Conversion des QCM BNS au format auto-multiple-choice
|
||||
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-`, `>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
|
||||
|
||||
```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 `<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
|
||||
|
||||
```bash
|
||||
pdflatex -shell-escape document.tex
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Loading…
Add table
Add a link
Reference in a new issue