Par Jérôme, le

LaTeX dans Pyromaths

Pyromaths crée des fiches d’exercices au format LaTeX. Ces fichiers exercices.tex et exercices-corrige.tex ne sont pas imprimables tels quels. Il faut les compiler pour créer des fichiers pdf.

Si vous souhaitez modifier une fiche, il vous faut donc modifier le fichier .tex et le recompiler. Vous trouverez dans cet article des explications sur les fichiers .tex créés par Pyromaths.

Modules ou paquetages utilisés

Dans cette partie, je tenterai d’expliquer l’utilité des modules utilisés dans les fichiers .tex.

  • \documentclass[a4paper,11pt]{article} Toutes les commandes TeX commencent par un \ . La fonction documentclass définit le type du document (ici article) et accepte en option a4paper (le document est au format A4) et 11pt (c’est la taille des caractères).
  • \usepackage[latin1]{inputenc} Cette commande permet d’utiliser des caractères accentués utiles en français.
  • \usepackage[frenchb]{babel} Le module babel avec l’option french “francise” l’utilisation de LaTeX. Par exemple, cela permet de gérer convenablement les espaces autour des symboles de ponctuations “:” ou “;”.
  • \usepackage[fleqn]{amsmath} amsmath est un module qui permet l’édition de formules mathématiques. L’option fleqn permet d’aligner les équations à gauches.
  • \usepackage{amssymb, multicol, calc, vmargin, cancel, fancyhdr, units, pst-eucl, wrapfig, lastpage}
  • Le module amssymb met à disposition tout un tas de symboles, mathématiques ou non (tel le triangle noir qui sert à numéroter les questions dans les exercices).
  • Le module multicol permet de créer des colonnes dans une page.
  • Le module calc permet de faire des opérations dans un document LaTeX. Il est utilisé pour afficher l’année scolaire en cours par exemple.
  • Le module vmargin permet de gérer simplement les marges d’un document LaTeX.
  • Le module cancel permet de rayer des caractères avec des barres obliques. Il est utilisé pour faire apparaître les simplifications de fractions.
  • Le module fancyhdr gère les en-têtes et pieds de pages du document.
  • Le module units gère l’affichage des unités de longueur (et d’autres) dans les documents.
  • Le module pst-eucl permet de construire des figures géométriques plus simplement en utilisant PSTricks.
  • Le module wrapfig permet d’écrire du texte autour d’une figure.
  • Le module lastpage permet de connaître le numéro de la dernière page.
  • \setmarginsrb{1.5cm}{1.5cm}{1.5cm}{1.5cm}{.5cm}{.5cm}{.5cm}{1.cm} Cette commande définit dans l’ordre les marges gauche, haut, droite, bas, la hauteur de l’en-tête, la distance entre l’entête et le texte, la hauteur du pied de page et la distance entre le texte et le pied de page.
  • \newcounter{exo}\setcounter{exo}{1} Crée un compteur nommé exo et l’initialise à 1. C’est ce compteur qui numérotera automatiquement les exercices de la feuille.
  • \setlength{\fboxsep}{1em} Précise la distance entre le texte et le bord des cadres.
  • \setlength\parindent{0em} Fixe la distance pour le retrait de premier paragraphe à 0 (inappropriée dans une fiche d’exercices).
  • \setlength\mathindent{0em} Fixe la distance pour le retrait des formules mathématiques.
  • \setlength{\columnsep}{30pt} Fixe la taille de la séparation entre les colonnes.
  • \usepackage[ps2pdf, pagebackref=true, colorlinks=true, linkcolor=blue, plainpages=true]{hyperref} Permet de créer des hyperliens (référence permettant de passer d’un document consulté à un document lié) dans les fichiers pdf.
  • \hypersetup{pdfauthor={Jérôme Ortais}, pdfsubject={Exercices de mathématiques}, pdftitle={Exercices créés par Pyromaths, un programme en Python de Jérôme Ortais}} Les informations stockées dans le document pdf créé.

Les fonctions utilisées

Les fichiers d’exercices .tex utilisent des fonctions pour gérer l’affichage des exercices notamment.

Affichage des exercices :

  • \newenvironment{exercice}[1][ ]{ La commande se nomme exercice et peut avoir un argument optionnel (par exemple, le nombre de points de l’exercice dans un devoir).
  • \pagebreak[2] Essaie de faire en sorte que le titre de l’exercice ne se retrouve pas seul en bas de page.
  • \renewcommand{\theenumi}{\arabic{enumi}} redéfini le type de numérotation (chiffres arabes) des questions dans les exercices.
  • \renewcommand{\labelenumi}{$\blacktriangleright$\textbf{\theenumi.}} Les questions dans les exercices sont numérotées comme suit : un triangle noir ($\blacktriangleright$) suivi du numéro de la question en gras \textbf{\theenumi.}).
  • \renewcommand{\theenumii}{\alph{enumii}} redéfini le type de numérotation (lettres minuscules) des questions de second niveau dans les exercices.
  • \renewcommand{\labelenumii}{\textbf{\theenumii)}} les questions de second niveau dans les exercices sont numérotées comme suit : le numéro de la question (en lettre minuscule, souvenez-vous de la ligne précédente) en gras \textbf{\theenumii.}).
  • \begin{flushleft} le titre de l’exercice sera aligné à gauche.
  • \fontfamily{pag}\fontseries{b}\\selectfont il utilisera la police AvantGarde (pag) si elle existe, en gras (\\fontseries{b}).
  • \underline{Exercice \theexo{}} - \footnotesize{#1} écrit “Exercice” suivi du numéro de l’exercice (\theexo{}) souligné (\\underline{ }). Ajoute au bout de cette ligne un “-” suivi éventuellement du paramètre passé à la commande \exercice (les nombres de points donnés à la question par exemple) écrit en plus petit (\footnotesize{#1}).
  • \end{flushleft} repasse en mode justifié.
  • \vspace{-2ex} réduit l’espace vertical de 2ex entre le titre de l’exercice et la ligne suivante

C’est ici que sera écrit le contenu de l’exercice. La suite de la commande permet de gérer la fin de l’exercice.

  • \vspace{-1ex} réduit l’espace vertical entre la fin de l’exercice et la suite du document.
  • \stepcounter{exo} incrémente la valeur du compteur exo qui numérote les exercices.

Calcul de l’année scolaire en cours

\count1=\year \count2=\year \ifnum\month<8\advance\count1by-1 \else\advance\count2by1\fi

count1 contiendra l’année de début et count2 l’année de fin. La fonction regarde quel est le mois en cours :

  • entre août et décembre, l’année en cours est l’année de début ;
  • entre janvier et juillet, l’année en cours est l’année de fin.

En-tête et pied de page

  • \pagestyle{fancy} utilise des en-tête et pieds de page personnalisés
  • \cfoot{\textsl{\footnotesize{Année \number\count1/\number\count2}}} le pied de page central (\cfoot) affiche par exemple “année 2007/2008” en italique (\textsl) et en petit (\footnotesize).
  • \rfoot{\textsl{\tiny{https://www.pyromaths.org}}} le pied de page droit (\rfoot) affiche https://www.pyromaths.org en italique (\textsl) et en encore plus petit (\tiny).
  • \lhead{\textsl{\footnotesize{Page \thepage/ \pageref{LastPage}}}} l’en-tête gauche (\lhead) affiche par exemple “Page 1/3” en italique (\textsl) et en petit (\footnotesize).

Plus loin dans le document on trouve les deux commandes suivantes :

  • \chead{\Large{\textsc{Fiche de préparation au brevet}}} l’en-tête central (\chead) affiche ici “Fiche de préparation au brevet” en grand (\Large) et en petites capitales (\textsc).
  • \rhead{\textsl{\footnotesize{Classe de 3\ieme}}} l’en-tête droit (\rhead) affiche ici “Classe de 3e” en petit (\footnotesize) et en italique (\footnotesize).