Les packages LaTeX indispensables pour les profs de maths

Les packages LaTeX indispensables pour les profs de maths

Packages LaTeX pour les maths : quand on est prof de maths, très souvent, on est amené à devoir créer des documents (devoirs, cours, fiches, etc.). Je pense qu’il y a de plus en plus de profs qui utilisent le langage latex (bien écrit, cela donne : \(\LaTeX\)) et quand on se lance dans ce langage, on n’a pas nécessairement tous les outils pour créer de beaux documents. Voici donc ici une liste non exhaustive des packages que je peux conseiller.

Bien entendu, cela n’engage que moi.

packages latex maths
Les packages LaTeX essentiels pour les profs de maths

La classe à utiliser

Pour de simples documents (comme des cours ou des feuilles d’exercices), je vous conseille d’utiliser la classe article.

\documentclass[10pt,french]{article}

Les options (entre les crochets) sont à votre guise :

La taille des caractères

La taille des caractères peut se choisir entre 10pt, 11pt ou 12pt. Vous pouvez opter pour une autre taille (dans le cas où où souhaitez créer des documents destinés à des élèves mal voyants par exemple) en utilisant la classe extarticle :

\documentclass[french]{article}
\usepackage[20pt]{extsizes}

L’inconvénient de ce package est que la taille des caractères ne peut être choisies qu’entre :  8pt, 9pt, 10pt, 11pt, 12pt, 14pt, 17pt et 20pt.

Il existe des façons de choisir d’autres tailles, mais ce n’est pas l’endroit pour en parler… Si vous souhaitez que j’écrive un article sur la façon à laquelle je pense, écrivez-le en commentaire.

Le langage

Je suppose que si vous êtes ici, c’est que vous écrivez la plupart du temps en français.

Le langage se renseigne en option de la classe (cette méthode est préférable à celle consistant à l’informer lors du package babel car cette dernière peut de temps en temps causer quelques messages d’erreurs – voir la page 4 de la documentation de babel).

L’encodage

La ligne suivante devra informer de l’encodage du document.

Bien qu’ayant utilisé abusivement l’encodage ISO au cours de mes premières années \(\LaTeX\), je ne vous conseillerais que trop d’utiliser l’encodage UTF-8, bien plus international (on se sait jamais…).

\usepackage[utf8]{inputenc}

Pour prendre et afficher correctement les caractères dans les PDF, il faudra aussi utiliser :

\usepackage[T1]{fontenc}

Le package “babel” : package LaTeX incontournable (ou presque)

\usepackage{babel}

Selon le langage utilisé, babel va adapter certaines commandes et certains jeux d’écriture pour convenir au langage choisi.

Par exemple, le code suivant :

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\begin{document}
\begin{itemize}
\item 1
\item 2
\end{itemize}
\end{document}

donnera ceci :

alors que le code suivant :

\documentclass[12pt,french]{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{babel}
\begin{document}
Une liste :
\begin{itemize}
\item 1
\item 2
\end{itemize}
\end{document}

donnera ceci :

Remarquez que les espacements verticaux ne sont pas les mêmes, et bien sûr, que les symboles de puces sont aussi différents.

Le package e-french

Il offre le mêmes possibilités que babel, mais comme il tourne sans babel, il ne connaît que le français et l’anglais. Et si l’on utilise le package mlp, il connaît en plus l’allemand. Par exemple pour les trois langues :

\usepackage[ngerman, english, french]{mlp}
% ou, pour uniquement le français et l'anglais:
\usepackage{french}

La fonte

La fonte globale (ou police de caractères si vous préférez) par défaut est assez moche. On peut l’améliorer légèrement en utilisant le package lmodern :

\usepackage{lmodern}

Mais il existe d’autres fontes.

Vous trouverez la liste de toutes les fontes en cliquant sur le lien suivant :

http://www.tug.dk/FontCatalogue/

Maintenant, si vous souhaitez utiliser vos fontes ttf qu’utilise Windows, il vous faudra non pas utiliser \(\LaTeX\) mais \(Lua\LaTeX\). Mais ça, c’est une autre histoire…

Packages LaTeX pour afficher des maths pour nous, les profs…

Beaucoup de sites vous conseilleront de charger plein de packages en relation avec les maths.

Moi, je vous conseille d’utiliser mon package pas-math qui charge tous les packages nécessaires :

  • amsmath (pour les bases)
  • amssymb (pour les symboles)
  • amsfonts (pour d’autres symboles)
  • mathtools (pour d’autres commandes liées au mode mathématique)
  • esvect (pour les vecteurs)
  • ifthen (ça, c’est pour le bon fonctionnement du package)

Vous pouvez aussi faire appel aux packages eucal et euscript pour des caractères différents.

On pourra ainsi afficher de belles formules comme celles-ci :

\[ \sum_{n\geq1}\frac{1}{n^2}=\frac{\pi^2}{6}\qquad\qquad\lim\limits_{n\to+\infty}\frac{\ln x}{x}=0. \]

Faire des graphiques

Les principales solutions graphiques en \(\LaTeX\) sont les suivantes :

  • PSTricks
  • TiKZ
  • Asymptote

Ne me demandez surtout pas ce que je préfère (ceci est un sujet de troll ^^) mais si vous êtes abonné.e.s à ce site et que vous avez jeté un coup d’œil aux sources de mes documents, vous devriez avoir une petit idée.

Utiliser TiKZ parmi les packages LaTeX pour faire des maths

\usepackage{tikz}
\usetikzlibrary{...} % optionnel : insertion de librairies TiKZ

La compilation des documents faisant appel à TiKZ se fait via PdfLaTeX. Rien de plus.

Vous devrez utiliser des librairies externes si vous souhaitez faire des choses élaborées (écrire des matrices en mode graphique par exemple).

Tous les graphiques devront être mis entre les balises suivantes :

\begin{tikzpicture}
...
\end{tikzpicture}

Le mieux est de jeter un œil sur la documentation de PGF/TiKZ.

Pour les plus impatients, vous pouvez regarder cette page pour voir plein d’exemples et commencer à apprendre à l’aide du très bon document TiKZ pour l’impatient.

Utiliser PSTricks parmi les packages LaTeX pour faire des maths

\usepackage{pstricks}

La compilation se fait alors via la chaîne LaTeX + dvips + ps2pdf ; il existe bien une façon de compiler en PdfLaTeX, mais je trouve la démarche plutôt peu évidente.

N’étant pas connaisseur expert de PSTricks, je ne m’étendrai pas plus…

Utiliser Asymptote

Bon, là, je vais être honnête avec vous : je n’ai jamais utilisé Asymptote (ne trouvant pas ça très pratique) même si les possibilités (surtout en 3D) sont intéressantes.

Vous pouvez aller voir la galerie des figures faites par Asymptote pour vous donner une idée du potentiel :

http://asy.marris.fr/asymptote/

Pour écrire un sujet de devoir

J’ai créé un package (pas-correction) qui permet de créer non seulement des sujets de contrôle mais aussi leur correction. Et en changeant un paramètre au fichier source, il permet d’afficher ou non les corrigés.

Packages LaTeX pour écrire vos cours de maths

Il existe plusieurs façons d’écrire un cours.

Vous pouvez vous-même créer votre package pour que votre cours vous ressemble le plus possible ou vous pouvez utiliser des classes et packages déjà existants.

J’ai créé le package pas-cours pour répondre aux besoins immédiats des enseignants des:

  • environnements définition, théorème, propriété, démonstration, etc. sont créés;
  • commandes pour dessiner des solides ainsi que leur patron;
  • macros (commandes) pour faire certains calculs (décomposition en produits de facteurs, construction du graphe d’une suite, simplification de fractions et d’expressions littérales) à l’aide de XCas.

Je peux aussi vous conseiller le package xlop qui permet d’écrire des divisions posées (décimales ou euclidiennes), des multiplications posées, etc.

Parmi les packages LaTeX pour faire des maths : faire des boucles

Il y a le package multido qui fait plutôt bien le boulot.

TiKZ offre aussi la commande \foreach :

\documentclass[12pt,frenchb]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} 
\usepackage{lmodern}
\usepackage{babel}
\usepackage{tikz}
\setlength{\parindent}{0pt}
\begin{document}

\foreach \a in {1,2,...,10}
{
Numéro \a\\
}

\end{document}

donne :

Si vous pensez que d’autres packages sont indispensables pour les enseignants, n’hésitez-pas à le dire en commentaires !

Stéphane Pasquet
Stéphane Pasquet

1 réflexion au sujet de « Les packages LaTeX indispensables pour les profs de maths »

Raymond JuilleratPublié le  4:37 - Mar 12, 2019

Il n’y a pas que french avec babel, il y a aussi french sans babel, sous CTAN, paquet e-french. Il offre le mêmes possibilités, mais comme il tourne sans babel, il ne connaît en dehors du français que l’anglais et si l’on utilise mlp, l’allemand sans babel. Par exemple pour les trois langues :
\usepackage[ngerman, english, french]{mlp}
ou pour français et anglais seulement :
\usepackage{french}.
Remarque : j’assure la maintenance du paquet e-french

NicolasPublié le  5:28 - Juin 23, 2020

bonjour.
j’ai une petite question pratique. Concernant les images, qu’utilisez-vous pour les insérer dans un document latex. Je ne trouve pas cela facile et si vous aviez des solutions…
Merci d’avance.

    Stéphane Pasquet

    Stéphane PasquetPublié le  5:55 - Juin 23, 2020

    Bonjour. Pour insérer une image, il suffit juste de faire appel à la commande \includegraphics{mon_image.ext}, où “ext” est autre chose que ‘eps’ (en compilant par PdfLaTeX par exemple, ou autre chose que dvips). Elle admet des options comme [scale=0.5] pour réduire de moitié, ou [height = 3cm, width = 5cm].

LouisaPublié le  10:50 - Fév 7, 2021

Bonjour, j’ai tenté d’utiliser votre package teach pour écrire un cours de maths (il est top !) cependant, j’ai un soucis lorsque je veux le combiner avec le package “tikz” je ne comprend pas pourquoi ils ne seraient pas compatible puisque vous semblez l’utiliser aussi ?
Voici l’erreur que ça me renvoie lorsque je met “\usepackage{tikz}” (sans même l’utiliser) :
! LaTeX Error: Option clash for package xcolor.See the LaTeX manual or LaTeX Companion for explanation.Type H for immediate help…. \RequirePackage

et lorsque je clique, j’arrive sur le “RequirePackage{cellspace}” avez vous une idée de solution à ce problème ?

Merci par avance,
Louisa.

    Stéphane Pasquet

    Stéphane PasquetPublié le  8:53 - Fév 8, 2021

    Bonjour. L’erreur “Option clash for package xcolor” est courante et n’a rien à voir avec “teach” a priori. Vous devez sûrement utiliser “TiKZ” et faire appel à “xcolor” dans un même fichier. Or, “TiKZ” fait lui aussi appel à “xcolor”. Donc, si vous voulez appeler “xcolor” en lui mettant une option, il faut le mettre avant l’appel à TiKZ:

    \usepackage[options]{xcolor}
    \usepackage{tikz}

LouisaPublié le  4:43 - Fév 11, 2021

Bonjour,
après recherche sur internet, j’ai finalement résolu le problème en ajoutant la ligne de code
\PassOptionsToPackage{table}{xcolor}
avant le document class (le package[options]{xcolor} ne fonctionnait pas pour mon problème).
Une dernière question : est-t-il possible d’empêcher le programme “teach” de justifier la page ? (pour éviter d’avoir de grands espaces entre définitions et propriété par exemple lorsque la démonstration est trop grande pour rester sur cette même page) ?
Merci par avance,
Louisa.

    Stéphane Pasquet

    Stéphane PasquetPublié le  5:11 - Fév 11, 2021

    Que l’on mette : \PassOptionsToPackage{table}{xcolor} ou \usepackage[table]{xcolor} a le même effet (j’avais marqué “options” pour spécifierf qu’il fallait mettre entre crochets les options souhaitées).
    Concernant les espaces verticaux, c’est \(\LaTeX\) qui les gère, et non le package teach. Une solution est donc d’empêcher tout espace vertical. On peut par exemple mettre : \raggedbottom en début de document.

LouisaPublié le  6:31 - Fév 11, 2021

Ah ! je n’avais pas bien compris alors 🙂
merci beaucoup en tout cas, \raggedbottom marche super bien.
Bonne soirée.

FlorencePublié le  11:08 - Fév 19, 2021

Bonjour, j’ai un souci avec votre package pas-tableur : le texte ne se met pas automatiquement sur plusieurs lignes comme vous le dites dans la documentation. Avez-vous une idée de la raison pour laquelle cela ne marche pas ? Merci beaucoup en tout cas pour vos partages.

\begin{tikzpicture}
\tableur*[4]{A/1cm,B/7cm,C/7cm}
\scriptsize
\celtxt[c]{A}{1}{Heure}
\celtxt[l]{B}{1}{Nombre de personnes ayant lu \\ le message dans l'heure précédente}
\celtxt[c]{C}{1}{Nombre total de personnes ayant lu le message à cette heure}
\celtxt[c]{A}{2}{11}
\celtxt[c]{A}{3}{12}
\celtxt[c]{A}{4}{13}
\end{tikzpicture}
    Stéphane Pasquet

    Stéphane PasquetPublié le  5:28 - Fév 19, 2021

    Bonjour. Quand on utilise la version étoilée de tableur, il faut nécessairement indiquer la largeur pour chaque insertion. Ce n’est le tableur qui s’adapte au texte, mais c’est le texte qui doit s’adapter au tableau: pas-tableur n’est pas un tableur. Le code suivant s’approche de ce que vous souhaitez, mais il faut garder à l’esprit que pas-tableau.sty a encore des défauts. Par exemple, pour centrer le texte en A2, l’option “c” ne fonctionne pas… Et je ne trouve pas de moyen d’arranger cela. J’ai écrit ce package il y a fort longtemps et c’est difficile de s’y replonger…

    \documentclass{standalone}
    \usepackage{tikz}
    \documentclass[10pt]{article}
    \usepackage{pas-tableur}
    \begin{document}
    \tablineheight{11mm}
    \begin{tikzpicture}
    \tableur*[4]{A/1cm,B/7cm,C/7cm}
    \celtxt[width=1cm,font=\scriptsize]{A}{1}{Heure}
    \celtxt[ajust,width=7cm]{B}{1}{Nombre de personnes ayant lu \\ le message dans l’heure précédente}
    \celtxt[ajust,width=7cm]{C}{1}{Nombre total de personnes ayant lu le\\ message à cette heure}
    \celtxt*[width=1cm]{A}{2}{11}
    \celtxt[width=1cm]{A}{3}{12}
    \celtxt[width=1cm]{A}{4}{13}
    \end{tikzpicture}
    \end{document}
    

FlorencePublié le  10:20 - Fév 22, 2021

Merci pour votre réponse, j’avais déjà tenté de mettre en scriptsize, mais cela ne marche pas : j’ai le message “package xkeyval error : font undefined in families celtxt”. Je ne comprends pas. En attendant de trouver peut-être une solution, je vais intégrer des images de captures d’écrans du tableur dans mes fichiers. Bonne journée

FlorencePublié le  11:01 - Fév 22, 2021

En m’aidant des sujets de l’APMEP, j’ai finalement fait ceci, et ça marche (il manque juste de la couleur sur la 1ere ligne et la 1ere colonne, mais c’est déjà pas si mal) :

\begin{tabularx}{\linewidth}{|c|*{2}{>{\centering \arraybackslash}X|}{>{\centering \arraybackslash}X|}}\hline
&A&B &C\\ \hline
1& Heure &Nombre de personnes ayant lu le message dans l’heure précédente &Nombre total de personnes ayant lu le message à cette heure\\ \hline
2&1		&10 		&11	 \\ \hline
3&2		& &	 \\ \hline
4&3		&  		&\\ \hline
5&4		&  		&\\ \hline
6&5		&  		&\\ \hline
\end{tabularx}

Pierre ChalopinPublié le  5:28 - Mar 3, 2021

Je pensais que vous aviez écrit un package pour tracer de beaux tableaux de variation niveau lycée. j’ai beau rechercher dans votre site et sur les liens que vous citez, et je ne retrouve rien sur ce sujet.
Pour information, j’utilisais tabvar depuis des années, et subitement, dans des circonstances que je suis incapable d’expliquer, certains documents avec tabvar ne marchent plus, la compilation sous TexMaker (à jour) avec l’environnement Miktex 2.9 (MàJ il y a un an) se met à boucler. J’ai regardé tikz et les documentations qui vont avec, ce package est bien plus compliqué d’usage que tabvar. C’est pourquoi, je recherche une autre solutio, que j’avais espérée trouver dans votre site.
pouvez-vous me dire ce qu’il en est et m’indiquer où trouver ce que vous avez, me semble-t-il déjà développé?
Je vous remercie d’avance.

    Stéphane Pasquet

    Stéphane PasquetPublié le  8:00 - Mar 3, 2021

    Il existe déjà un package qui fait ça: tkz-tab (qui s’appuie sur TiKZ). Je vous encourage à regarder la documentation de cette extension, que j’utilise systématiquement.

Pierre ChalopinPublié le  5:03 - Mar 3, 2021

Merci pour votre réponse. Je vais étudier ce package.

Laissez votre message