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.
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 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 te tutoriel de Christophe GROSPELLIER:
https://www.cgmaths.fr/cgFiles/Dem_Rapide.pdf
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 !
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
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.
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].
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.
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}
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.
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.Ah ! je n’avais pas bien compris alors 🙂
merci beaucoup en tout cas, \raggedbottom marche super bien.
Bonne soirée.
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.
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…
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
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) :
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.
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.
Merci pour votre réponse. Je vais étudier ce package.
Bonjour Stephane ! 🙂
Juste un petit message de remerciements. Je suis tombé sur ton site en cherchant à personnaliser des boites pour théorèmes ou autre chose…
J ai regardé ton package teach, j ai lu quelques pdf que tu as fait et ton style me plait beaucoup 😉
Je suis en train de rédiger un B-A-BA des maths et je cherche mon style…. mais du coup je vais me pencher sur ton package qui est (cerise sur le gâteau !) personnalisable !
Voilà, à bientôt peut être !!
Franck
Bonjour Franck.
Merci pour ces compliments. Si tu souhaites ajouter un template à teach, n’hésite pas ! Comme tu as pu le voir, il y a un thème (TeachBlueRedTheme) écrit par un confrère. Tu peux, si tu le désires, m’envoyer le tien quand tu l’auras fait. Il suffira que tu me le dises en commentaires ici et je t’enverrai un mail.
Alors je cherche mon style, mais je connais par encore grand chose…. Je suis en train de lire tes docs effectivement c’est un truc qui me plairait beaucoup de faire un template , un peu quand tu personnalises ton F-16 sur Falcon 4 (si tu connais ? )
Je ne manquerai pas de te demander si j’ai besoin, grand merci !!! !!
Merci Stéphane !!
Pour être franc, je n’ai pas encore beaucoup mis les mains dans le cambouis latex 🙂 mais quand ce sera fait je te dirai !
Bonne journée !! 😉
Franck
Bonjour,
le signe “+” ne s’affiche pas (dans le pdf) dans les équations. A quoi est-ce dû.
Merci
Bonjour. Sans contexte, je ne saurais répondre. Vous devriez voir du côté du forum de mathematex pour des questions comme celles-ci.
merci pour votre réponse. Il y avait un package qui ne devait pas y être.
J’aimerais savoir comme faire des figures géométriques avec tikz
Il suffit de lire la documentation de TiKZ (voir sur ctan.org).
Merci pour cet effort