Chargement...

Billet de blog

Générer automatiquement des cartes de mémorisation à partir de cours rédigés en LaTeX

 Chargement de l'article en cours ...

En cette période de fin d’année scolaire, il peut être intéressant de proposer aux élèves des cartes de mémorisation leur permettant de réactiver les notions précédemment abordées. La production de tels supports peut se révéler fastidieuse pour l’enseignant : il faut parcourir tous les fichiers de cours de l’année, copier-coller les définitions/propriétés, mettre en forme les cartes… Et s’il était possible d’automatiser tout cela ?

C’est ce que je vous propose dans ce billet de blog, pour peu que vous utilisiez LaTeX (les fervents défenseurs des suites Microsoft Office et LibreOffice ne trouveront pas de solution ici…).

Liens vers le script

 Télécharger l’archive

Utilisation du script

Prérequis

  • Python 3
  • Distribution TeX (MikTeX, TeXLive…)

Pour tester le script sur l’exemple fourni dans l’archive, il suffit d’utiliser la commande :
python3 generate_flashcards.py

Organisation des répertoires

L’objectif du script Python est de parcourir automatiquement tous les fichiers tex dans les répertoires de cours, selon une arborescence particulière. Tel que proposé, le script parcourt chaque sous-dossier d’une racine (précisée par l’utilisateur à la ligne 30) à la recherche d’un dossier “cours” (ligne 31). Dans ces derniers, le script ouvre les fichiers tex et recherche dans leur contenu un environnement LaTeX particulier (correspondant aux définitions par exemple). Dans l’exemple proposé, l’environnement considéré est :

\begin{connaitre}{Titre de la définition}
Contenu de la définition
\end{connaitre}

Le script extrait alors le titre (dans l’exemple “Titre de la définition“) et le contenu (dans l’exemple “Contenu de la définition“). Le script recherche aussi une commande \theme{Mon super thème} et extrait alors le thème du cours considéré.

Le script construit ensuite un fichier “master.tex” basé sur le modèle “master_template.tex”. Il affiche en page impaire le recto des cartes avec le thème ainsi que le titre et en page paire le verso des cartes contenant le contenu. Ce fichier est ensuite compilé pour produire un fichier pdf imprimable (recto-verso bord long en portrait et recto-verso bord court en paysage).

Personnalisation

Dans le fichier “generate_flashcards.py”, il est possible de modifier les lignes 27 à 33. On peut notamment y préciser le nombre de lignes ou de colonnes, la racine contenant les dossiers à parcourir, le compilateur LaTeX, le format paysage…

Pour personnaliser l’apparence des cartes de mémorisation, cela se passe dans le fichier “master_template.tex”. Il est alors possible de modifier la structure et le style du contenu des cartes (frontcard et backcard). Les cartes sont insérées dans un environnement “tcbraster” qui permet leur répartition selon une grille. Les options de cet environnement peuvent être modifiées afin de personnaliser l’apparence générale des cartes.

Licence

Ce script est distribué selon les termes d’utilisation de la licence “GNU GPLv3.0”. Pour plus d’informations, cliquer ici.

  Modifié le : 08/08/2023 09:36:35