diff options
Diffstat (limited to 'macros/latex/contrib/neoschool/doc/neoschool-fr.tex')
-rw-r--r-- | macros/latex/contrib/neoschool/doc/neoschool-fr.tex | 1398 |
1 files changed, 1398 insertions, 0 deletions
diff --git a/macros/latex/contrib/neoschool/doc/neoschool-fr.tex b/macros/latex/contrib/neoschool/doc/neoschool-fr.tex new file mode 100644 index 0000000000..d8f73939da --- /dev/null +++ b/macros/latex/contrib/neoschool/doc/neoschool-fr.tex @@ -0,0 +1,1398 @@ +\documentclass[ + french, + margin=2cm +]{neoschool} + +\title{La classe \texttt{neoschool}} +\author{Version : 1.0.0 \quad\textemdash{}\quad Auteur : Razik Ikhlef} +\date{04/01/2025} + +\begin{document} + +\maketitle + +La classe \texttt{neoschool} propose aux enseignants du secondaire un +ensemble d'outils pour concevoir leurs documents pédagogiques (évaluations, +supports de cours, fiches d'exercices avec leur correction, etc). Pour répondre +aux différents besoins, elle propose huit thèmes de couleurs prédéfinis, des +options de classe variées pour la mise en page et la typographie, des +environnements spécialisés, des commandes dédiées et différents styles +d'en-têtes préformatés pour chaque type de document. Elle intègre plusieurs +dizaines d'extensions LaTeX couramment utilisées (voir la liste ci-dessous), ce +qui allège considérablement le préambule et évite autant que possible les +incompatibilités. Multilingue, elle prend en charge le français, l'anglais et +l'allemand. + +\tableofcontents + +\section{Extensions chargées} + +Les extensions suivantes sont automatiquement chargées par la classe \texttt{neoschool}. + +\texttt{adforn}, \texttt{adjustbox}, \texttt{algpseudocode}, \texttt{amssymb}, \texttt{babel}, \texttt{bookmark}, \texttt{calc}, \texttt{changespace}, \texttt{cuted}, \texttt{environ}, \texttt{fancyvrb}, \texttt{fontawesome5}, \texttt{forest}, \texttt{iftex}, \texttt{ifthen}, \texttt{kvoptions}, \texttt{lastpage}, \texttt{marginnote}, \texttt{microtype}, \texttt{mismath} (qui charge \texttt{mathtools}), \texttt{multicol}, \texttt{needspace}, \texttt{pdftexcmds}, \texttt{pgffor}, \texttt{pgfplots}, \texttt{qrcode}, \texttt{scrlayer-scrpage}, \texttt{silence}, \texttt{siunitx}, \texttt{tabularray}, \texttt{tasks}, \texttt{tcolorbox} (avec l'option \texttt{most} qui charge les extensions \texttt{listings} et \texttt{minted}), \texttt{textcase}, \texttt{tikz}, \texttt{tikzpagenodes}, \texttt{tikzsymbols}, \texttt{ulem} (avec l'option \texttt{normalem}), \texttt{xcolor} (avec les options \texttt{table}, \texttt{svgnames}, \texttt{dvipsnames} et \texttt{x11names}), \texttt{xhfill}, \texttt{xkeyval}, \texttt{xsim} (avec les options \texttt{use-files} et \texttt{clear-aux}), \texttt{xstring}. + +La compilation en \texttt{pdflatex} charge les extensions \texttt{fonttenc} (avec l'option \texttt{T1}), \texttt{inputenc} (avec l'option \texttt{utf8}), \texttt{newpxtext} et \texttt{newpxmath}. La compilation en \texttt{lualatex} rend disponible les extensions \texttt{fontspec}, \texttt{luacas}, \texttt{lua-ul}, \texttt{luacolor} et applique les polices \texttt{TeX Gyre PagellaX} et \texttt{TeX Gyre Heros} en plus de \texttt{newpxmath}. + +L'options \texttt{graphics} charge les extensions \texttt{graphicx} et \texttt{wrapfig}, l'option \texttt{draft} les extensions \texttt{blindtext} et \texttt{lipsum} et l'option \texttt{mathastext} l'extension \texttt{mathastext}. + +L'option \texttt{math} charge les extensions \texttt{annotate-equations}, \texttt{bm}, \texttt{cancel}, \texttt{mathrsfs}, \texttt{nncomma}, \texttt{numprint}, \texttt{tdsfrmath} (avec les options \texttt{suite} et \texttt{taupe}), \texttt{tkz-euclide}, \texttt{witharrows} et \texttt{xlop}. + +L'option \texttt{notes} permet d'afficher des notes encadrées et à fond coloré dans les marges gauche et droite, de façon alternée. Elle charge l'extension \texttt{todonotes}. + +L'option \texttt{apmep}, qui permet de compiler directement les sujets d'annales de l'association du même nom, définit une ensemble de commandes mathématiques et charge les extensions \texttt{esvect}, \texttt{fourier-ons}, \texttt{numprint} (avec l'option \texttt{np}), \texttt{pstricks} (et de nombreux paquets de l'écosystème \texttt{pstricks}), \texttt{tabularx} et \texttt{textcomp}. + +L'option \texttt{mathics} permet de faire du calcul formel via \texttt{mathics} (version libre de \texttt{mathematica}) et charge les extensions \texttt{asymptote} et \texttt{latexalpha2}. + +\section{Options de configuration} + +\subsection{Langue} + +\begin{itemize} +\item + \textbf{english, french, german} : active les traductions et + conventions liées à chaque langue. Ces options affectent les intitulés des théorèmes et environnements, la typographie et les conventions mathématiques. +\item + \textbf{nofrenchlist} : désactive le style français des listes (remet + des points à la place des tirets). +\item + \textbf{frenchlistaspar} : traite les listes comme des paragraphes en + français. +\item + \textbf{frenchmath} : applique les conventions mathématiques + françaises (majuscules et lettres grecques droites). +\end{itemize} + +\subsection{Apparence globale} + +\subsubsection{Thèmes prédéfinis} + +L'option \textbf{theme} = \texttt{nom-du-theme} définit +le thème de couleurs du document. Les thèmes disponibles sont : \texttt{cyprus}, \texttt{kassio}, \texttt{frost}, \texttt{spring}, \texttt{arbutus}, \texttt{duo}, \texttt{navy}, \texttt{royal}. La plupart d'entre eux sont inspirés des \textit{ef-themes} pour \textit{emacs} de Protesilaos Stavrou. + +\subsubsection{Modes de couleur} + +\begin{itemize} +\item \textbf{normal} : utilise des couleurs différentes pour chaque type + d'environnement. +\item \textbf{unicolor} : utilise une couleur unique pour tous les + environnements : + \begin{itemize} + \item la couleur du titre est utilisée comme base ; + \item les variations sont obtenues par transparence. + \end{itemize} +\item \textbf{print} : convertit toutes les couleurs en noir pour + l'impression. +\item \textbf{gradientheadpalette} : utilise un dégradé de la couleur du titre pour les autres titres (sections, sous-sections, titre de théorèmes, etc.). +\end{itemize} + +\subsubsection{Personnalisation des couleurs} + +\begin{itemize} +\item \textbf{globalcolor} = \texttt{couleur} : définit la + couleur du texte. +\item \textbf{titlecolor} = \texttt{couleur} ou \textbf{titlehexcolor} = \texttt{code hex} : définit la + couleur du titre. +\item \textbf{headcolor} = \texttt{couleur} : définit la + couleur des en-têtes de section. +\item \textbf{subcolor} = \texttt{couleur} : définit la + couleur des sous-sections. +\item \textbf{subsubcolor} = \texttt{couleur} : définit la + couleur des sous-sous-sections. +\item \textbf{headfootcolor} = \texttt{couleur} : définit + la couleur des en-têtes et pieds de page. +\end{itemize} + +\subsubsection{Options d'affichage} + +\begin{itemize} +\item \textbf{noframe} : supprime les cadres des environnements. +\item \textbf{noback} : supprime les fonds colorés. +\item \textbf{nocodeframe} : supprime les cadres des blocs de code. +\item \textbf{scale} : harmonise les dimensions des polices en \texttt{lualatex}. +\end{itemize} + +\subsection{Personnalisation du résumé} + +L'option \texttt{abstracttitle} permet de personnaliser +le titre de l'environnement \texttt{abstract} : + +\begin{code}{latex} +% Dans le préambule +\documentclass[abstracttitle=Résumé]{neoschool} + +% Dans le document +\begin{abstract} + Contenu du résumé... +\end{abstract} +\end{code} + +\subsection{Typographie} + +\begin{itemize} +\item \textbf{sfbody} : active la police sans empattements pour le corps du + texte. +\item \textbf{sfall} : active la police sans empattements pour tout le + document. +\item \textbf{mathastext} : utilise la police de texte pour les + mathématiques. +\item \textbf{mainface} = \texttt{police} : police + principale du document. +\item \textbf{mainfaceoptions} = \texttt{options} : options + de la police principale. +\item \textbf{sansface} = \texttt{police} : police sans + empattements. +\item \textbf{sansfaceoptions} = \texttt{options} : options + de la police sans empattements. +\item \textbf{monoface} = \texttt{police} : police à chasse + fixe. +\item \textbf{monofaceoptions} = \texttt{options} : options + de la police à chasse fixe. +\item \textbf{mathface} = \texttt{police} : police + mathématique. +\item \textbf{mathfaceoptions} = \texttt{options} : options + de la police mathématique (uniquement en \texttt{pdflatex}). +\item \textbf{facefamily} = \texttt{famille} : famille de + polices complète. +\item \textbf{facefamilyoptions} = \texttt{options} : + options de la famille de polices. +\end{itemize} + +\subsection{Mise en page} + +\subsubsection{Marges et espacement} + +\begin{itemize} +\item \textbf{margin} = \texttt{longueur} : définit la + largeur des marges horizontales (2,5 cm par défaut) ; les marges verticales s'adaptent en conséquence. +\item \textbf{notes} = \texttt{longueur} : active les \textit{todonotes} + dans les marges et définit leur largeur. +\item \textbf{noindent} : supprime l'indentation des paragraphes. +\item \textbf{indent} = \texttt{longueur} : définit la + largeur de l'indentation (1 em par défaut). +\item \textbf{compact} : + \begin{itemize} + \item réduit l'espacement entre les paragraphes ; + \item diminue les marges des environnements ; + \item compresse l'interligne. + \end{itemize} +\end{itemize} + +\subsubsection{Options de sortie} + +\begin{itemize} +\item \textbf{2a5toa4} : affiche deux fois la même page A5 sur une page A4 en mode paysage. +\item \textbf{2a4toa3} : affiche deux fois la même page A4 sur une page A3 en mode paysage. +\item \textbf{4a5toa3} : affiche quatre fois la même page A5 sur une page A3. +\item \textbf{2toa3} : affiche deux pages A4 quelconques sur une page A3 en mode paysage. +\item \textbf{bookleta5} : génère un livret en A5 (quatre pages par feuille A4). +\item \textbf{bookleta4} : génère un livret en A4 (quatre pages par feuille A3). +\end{itemize} + +\subsubsection{En-têtes et pieds de page} + +\begin{itemize} + +\item + \textbf{fullheader} : active l'en-tête et le pied de page complets. + \begin{itemize} + \item En-tête : type de document à gauche, titre au centre et niveau de classe à + droite. + \item Pied de page : date à gauche, établissement au centre et pagination + à droite. + \end{itemize} +\item \textbf{headrule} : ajoute un filet sous l'en-tête. +\item \textbf{footrule} : ajoute un filet au-dessus du pied de page. +\item \textbf{headfootrule} : active les deux filets. +\end{itemize} + +\section{Styles de document} + +\subsection{Styles de titre} + +\subsubsection{Styles d'examen} + +\begin{itemize} + +\item \textbf{exam} : style complet pour examens avec en-tête détaillé. +\end{itemize} + +\begin{code}{latex} +\documentclass[exam]{neoschool} + +\neoheader{ + type = Devoir surveillé, + school = Lycée Poincarré, + level = Terminale, + duration = 2h, + calculator = true % ou false ou exam +} +\end{code} + +\begin{itemize} + +\item \textbf{shortexam} : style compact pour examens avec en-tête simplifié. +\item \textbf{mockexam} : style pour épreuves type baccalauréat ou brevet blancs + avec page de garde normalisée. +\end{itemize} + +\subsubsection{Styles d'évaluation} + +\begin{itemize} + +\item \textbf{eval} : style standard pour évaluations. +\end{itemize} + +\begin{code}{latex} +\documentclass[eval]{neoschool} + +\neoheader{ + type = Contrôle, + school = Collège Alan Turing, + level = Quatrième +} +\end{code} + +\begin{itemize} +\item \textbf{evalicons} : ajoute des icônes à l'en-têtes \texttt{evel}. +\item \textbf{evalgrade} : ajoute un bandeau de notation. +\item \textbf{evaliconsgrade} : style complet avec icônes et notation. +\item \textbf{shorteval} : style compact pour évaluations. +\end{itemize} + +\subsubsection{Styles avec bulles} + +\begin{itemize} +\item \textbf{bubbles} : style avec fond à bulles colorées. +\item \textbf{shortbubbles} : version compacte du style bulles. +\end{itemize} + +\subsubsection{Autres styles de titre} + +\begin{itemize} +\item \textbf{titleornament} : ajoute des ornements en-dessous du titre. +\item \textbf{titlerule} : ajoute un filet sous le titre. +\item \textbf{titlemidrule} : ajoute un filet central sous le titre. +\item \textbf{titlefullrule} : ajoute un filet en pleine largeur sous le titre. +\item \textbf{fancybox} : titre avec boîte grise élégante. +\item \textbf{onlytitleleft} : affiche uniquement le titre, aligné à gauche. +\item \textbf{onlytitle} : affiche uniquement le titre, centré. +\item \textbf{onlytitleright} : affiche uniquement titre, aligné à droite. +\item \textbf{shorttitle} : style de titre compact. +\item \textbf{shortlesson} : style compact pour les leçons. +\end{itemize} + +\subsection{Configuration de l'en-tête} + +L'en-tête du document peut être configuré avec la commande +\texttt{\textbackslash neoheader} : + +\begin{code}{latex} +\neoheader{ + type = {Type de document}, + school = {Nom de l'établissement}, + academy = {Nom de l'académie}, + level = {Niveau de classe}, + duration = {Durée}, + calculator = {true/false/exam}, + leftcontent = {\faIcon{...}}, + rightcontent = {\faIcon{...}}, +} +\end{code} + +\subsection{Options de formatage des titres} + +\subsubsection{Styles globaux} + +\begin{itemize} +\item \textbf{headstyle} = \texttt{style} : style de police + pour tous les en-têtes (\texttt{sffamily} par défaut). + \begin{itemize} + \item Sections, sous-sections, etc. + \item En-têtes de théorèmes et exercices. + \end{itemize} +\begin{code}{latex} +\documentclass[headstyle=rmfamily]{neoschool} +\end{code} +\item \textbf{headweight} = \texttt{graisse} : graisse pour + tous les en-têtes (\texttt{bfseries} par défaut). +\begin{code}{latex} +\documentclass[ + headstyle=sffamily, + headweight=mdseries +]{neoschool} +\end{code} +\item \textbf{headshape} = \texttt{forme} : forme pour tous + les en-têtes (\texttt{scshape} par défaut). +\begin{code}{latex} +\documentclass[ + headstyle=sffamily, + headshape=upshape +]{neoschool} +\end{code} +\end{itemize} + +\subsubsection{Style du titre principal} + +\begin{itemize} +\item \textbf{titlestyle} = \texttt{style} : style pour le + titre principal (hérite de \texttt{headstyle}). +\item \textbf{titleweight} = \texttt{graisse} : graisse du + titre principal (hérite de \texttt{headweight}). +\item \textbf{titleshape} = \texttt{forme} : forme du titre + principal (\texttt{upshape} par défaut). +\item \textbf{titlealign} = \texttt{alignement} : + alignement du titre (\texttt{center} par défaut). +\end{itemize} + +\begin{code}{latex} +\documentclass[ + titlestyle=sffamily, + titleweight=bfseries, + titleshape=upshape, + titlealign=left +]{neoschool} +\end{code} + +\subsubsection{Style des sections} + +\begin{itemize} +\item \textbf{sectionnumstyle} = \texttt{style} : style de + numérotation. + \begin{itemize} + \item \texttt{circle} : numéro encerclé. + \item \texttt{box} : numéro encadré. + \item \texttt{dash} : tiret après le numéro. + \item \texttt{plain} : numéro simple. + \end{itemize} +\item \textbf{sectiontextstyle} = \texttt{style} : style du + texte. + \begin{itemize} + \item \texttt{sc} : petites capitales. + \item \texttt{upper} : majuscules. + \item \texttt{lower} : minuscules. + \end{itemize} +\item \textbf{sectionstyle} = \texttt{style} : style global + de la section. + \begin{itemize} + \item \texttt{ornaments} : avec ornements décoratifs. + \item \texttt{underline} : souligné. + \item \texttt{normal} : style simple. + \item \texttt{highlighted} : avec surlignage. + \item \texttt{shadedline} : avec ligne ombrée. + \end{itemize} +\item \textbf{sectionalign} = \texttt{alignement} : + alignement des sections. + \begin{itemize} + \item \texttt{left} : à gauche. + \item \texttt{center} : centré + \item \texttt{right} : à droite. + \end{itemize} +\end{itemize} + +\begin{code}{latex} +\documentclass[ + sectionnumstyle=circle, + sectiontextstyle=upper, + sectionstyle=highlighted, + sectionalign=left +]{neoschool} +\end{code} + +\subsubsection{Style des en-têtes/pieds de page} + +\begin{itemize} +\item \textbf{headfootstyle} = \texttt{style} : style des + en-têtes/pieds de page (basé sur \texttt{headstyle}). +\end{itemize} + +\begin{code}{latex} +\documentclass[headfootstyle=sffamily]{neoschool} +\end{code} + +\subsubsection{Exemple complet de configuration} + +\begin{code}{latex} +\documentclass[ + % Style global + headstyle=sffamily, + headweight=bfseries, + headshape=scshape, + + % Titre principal + titlestyle=sffamily, + titleweight=bfseries, + titleshape=upshape, + titlealign=center, + + % Sections + sectionnumstyle=circle, + sectiontextstyle=upper, + sectionstyle=highlighted, + sectionalign=left, + + % En-têtes/pieds de page + headfootstyle=sffamily +]{neoschool} +\end{code} + +\section{Disposition des contenus} + +\subsection{Positionnement absolu d'objets} + +La commande \texttt{\textbackslash positionobject} permet de placer +précisément un élément sur la page : + +\begin{code}{latex} +% Syntaxe +\positionobject{x-shift}{y-shift}{scale}{contenu} + +\begin{itemize} +\item \texttt{x-shift} : décalage horizontal depuis le coin + supérieur gauche. +\item \texttt{y-shift} : décalage vertical depuis le coin + supérieur gauche. +\item \texttt{scale} : facteur d'échelle pour le contenu. +\item \texttt{contenu} : élément à positionner (image, + texte, etc.). +\end{itemize} + +% Exemple : Image en haut à droite +\positionobject{15cm}{1cm}{0.5}{\includegraphics{logo.png}} + +% Exemple : Texte en bas de page +\positionobject{2cm}{25cm}{1}{Note de bas de page spéciale} +\end{code} + +\subsection{Mise en page à deux colonnes} + +La commande \textbf{\textbackslash splitcontent} permet de diviser le +contenu horizontalement : + +\begin{code}{latex} +% Syntaxe : \splitcontent[largeur1][espace]{contenu1}{contenu2} + +% Exemple avec valeurs personnalisées +\splitcontent[0.6][0.05]{ + Cette partie occupe 60 % + de la largeur totale +}{ + Cette partie occupe 35 % + (5 % d'espace entre les deux) +} + +% Exemple avec valeurs par défaut (50 % / 50 %) +\splitcontent{ + Première colonne +}{ + Seconde colonne +} +\end{code} + +\subsection{Environnements côte à côte} + +L'environnement \texttt{sidebyside} permet de créer des +boîtes à deux colonnes avec des styles cohérents : + +\begin{code}{latex} +\begin{sidebyside}[options] + % Contenu gauche + \tcblower + % Contenu droit +\end{sidebyside} +\end{code} + +Les options sont celles de \texttt{tcolorbox}. + +\begin{code}{latex} +\begin{sidebyside}[ + title=Comparaison, + colback=exampleColor!5, + colbacklower=exampleColor!10 +] + Première version + \tcblower + Version améliorée +\end{sidebyside} +\end{code} + +\subsection{Association texte et image} + +La commande \textbf{\textbackslash textwithimage} combine texte et image~: + +\begin{code}{latex} +% Syntaxe : \textwithimage[*]{largeur_image}{échelle_image}{texte}{chemin_image} +% L'étoile (*) inverse la position de l'image (droite par défaut) + +% Image à droite (30 % de la largeur) +\textwithimage{0.3}{0.95}{ + Ce texte décrit l'image ci-contre... +}{images/figure.png} + +% Image à gauche (40 % de la largeur) +\textwithimage*{0.4}{0.9}{ + Description à droite de l'image... +}{images/schema.png} +\end{code} + +\subsection{QR codes et contenus} + +La commande \textbf{\textbackslash withqrcode} intègre un QR code avec +du contenu associé : + +\begin{code}{latex} +% Syntaxe : \withqrcode[*][taille]{url}{contenu} +% L'étoile (*) place le QR code à droite (gauche par défaut) + +% QR code à gauche (2 cm par défaut) +\withqrcode{https://example.com}{ + Scanner pour plus d'informations +} + +% QR code de 3cm à droite +\withqrcode*[3cm]{https://exercises.com}{ + Accéder aux exercices en ligne +} +\end{code} + +\subsection{Grilles et papiers} + +\subsubsection{Grilles personnalisables} + +\begin{itemize} +\item \textbf{\textbackslash grid} : grille à petits carreaux. +\end{itemize} + +\begin{code}{latex} +\grid[blue]{10cm}{5cm} % Grille bleue de 10 x 5 cm +\end{code} + +\begin{itemize} +\item \textbf{\textbackslash customgrid} : grille avec espacement. + personnalisé +\end{itemize} + +\begin{code}{latex} +\customgrid[red][4mm][4mm]{12cm}{8cm} % Grille rouge, mailles de 4 mm +\end{code} + +\begin{itemize} +\item \textbf{\textbackslash frenchgrid} : grille à grands carreaux de type Seyès. +\end{itemize} + +\begin{code}{latex} +\frenchgrid{15cm}{10cm} % Grille de type cahier français +\end{code} + +\subsubsection{Pages entières} + +\begin{itemize} +\item \textbf{\textbackslash notebook} : page de type cahier avec lignes horizontales et + marge rouge. +\end{itemize} + +\begin{code}{latex} +\notebook % Active le style cahier ligné +\end{code} + +\begin{itemize} +\item \textbf{\textbackslash nbminorgrid} : page entièrement recouverte de petits carreaux. +\end{itemize} + +\begin{code}{latex} +\nbminorgrid % Active le quadrillage fin +\end{code} + +\begin{itemize} +\item \textbf{\textbackslash nbmajorgrid} : page entièrement recouverte de grands carreaux. +\end{itemize} + +\begin{code}{latex} +\nbmajorgrid % Active le quadrillage Seyès +\end{code} + +\subsection{Boîtes simples} + +L'environnement \texttt{neobox} permet de créer rapidement des boîtes simples. Il existe en deux variantes : \texttt{neobox} avec cadre et \texttt{neobox*} sans cadre visible : + +\begin{code}{latex} +% Boîte standard +\begin{neobox}[colframe=blue,colback=blue!5] + Texte dans une boîte... +\end{neobox} + +% Boîte sans cadre avec fond coloré +\begin{neobox*}[colback=gray!10] + Texte sur fond gris... +\end{neobox*} +\end{code} + +\section{Exercices} + +\subsection{Exercices et évaluations} + +\subsubsection{Configuration des exercices} + +L'environnement \texttt{exercise} accepte les options +suivantes. + +\begin{itemize} +\item \textbf{points} = \texttt{nombre} : nombre de points + de l'exercice. +\item \textbf{level} = \texttt{nombre} : niveau de + difficulté (affiché sous forme d'étoiles). +\item \textbf{subtitle} = \texttt{texte} : sous-titre ou + description de l'exercice. +\item \textbf{icon} = \texttt{icône} : icône personnalisée + (utilise la bibliothèque d'icônes \textit{Font Awesome}). +\item \textbf{topic} = \texttt{thème} : thème ou chapitre + concerné. +\item \textbf{subject} = \texttt{matière} : matière + concernée. +\item \textbf{ID} = \texttt{identifiant} : identifiant + unique pour référencement. +\item \textbf{template} = \texttt{style} : style + d'affichage spécifique pour cet exercice. +\end{itemize} + +\begin{code}{latex} +\begin{exercise}[ + points=4, + level=2, + subtitle=Dérivation, + icon=\faPencil, + topic=Analyse, + subject=Mathématiques, + ID=der01, + template=elegant-box +] + Calculer la dérivée de la fonction $f$ définie sur $]0 ; +\infty[$ + par $f(x)=x^2\ln(x)$. +\end{exercise} + +L'environnement \texttt{solution} doit immédiatement suivre l'environnement \texttt{exercise} correspondant. La correction des exercices ne s'affiche pas par défaut. + +\begin{solution} + On utilise la formule du produit... +\end{solution} + +% Pour référencer l'exercice ailleurs : +Comme vu dans l'exercice~\exercisenumber{der01}. +\end{code} + +\subsubsection{Options globales} + +\begin{itemize} +\item \textbf{exerciseicons} : active les icônes pour tous les exercices. +\item \textbf{answers} : affiche automatiquement toutes les corrections des exercices. +\item \textbf{shuffle} : mélange les choix de réponse dans les QCM. +\item \textbf{sectionthmcounter} : numérote les exercices par section. +\item \textbf{sharedexcounter} : partage le compteur avec les théorèmes. +\end{itemize} + +\subsubsection{Templates d'exercices} + +La classe offre de nombreux styles prédéfinis pour les exercices. + +\begin{itemize} +\item \textbf{box} : boîte standard avec bordure et titre. +\item \textbf{elegant-box} : boîte avec barre latérale colorée. +\item \textbf{shaded-box} : boîte avec ombrage et titre en bannière. +\item \textbf{slanted-box} : boîte avec titre en bandeau incliné. +\item \textbf{sober-box} : boîte minimaliste avec titre en couleur. +\item \textbf{classic-box} : boîte classique avec titre en bandeau. +\item \textbf{classy-box} : boîte sophistiquée avec titre décoratif. +\item \textbf{rect-box} : boîte rectangulaire simple. +\item \textbf{rect-box-outlined} : boîte rectangulaire avec contour. +\item \textbf{num-box} : boîte numérotée compacte. +\item \textbf{num-box-outlined} : boîte numérotée avec contour. +\item \textbf{ex-num-box} : boîte ``Ex.'' numérotée. +\item \textbf{ex-num-box-outlined} : boîte ``Ex.'' numérotée avec contour. +\item \textbf{box-hrule} : boîte avec règle horizontale. +\item \textbf{box-hrule-out} : boîte avec règle horizontale et contour. +\item \textbf{box-hrule-in} : boîte avec règle horizontale intérieure. +\item \textbf{boxed} : simple boîte avec titre. +\item \textbf{boxed-out} : boîte avec contour et titre. +\item \textbf{inline} : texte en ligne avec titre. +\item \textbf{section} : titre de type section. +\item \textbf{subsection} : titre de type sous-section. +\item \textbf{terminal} : style console avec icône terminal. +\item \textbf{block} : style minimaliste. +\item \textbf{hrule} : avec règle horizontale. +\end{itemize} + +Pour définir un template pour tout le document, il suffit d'utiliser la commande \texttt{\textbackslash xsimsetup} dans la préambule : + +\begin{code}{latex} +\xsimsetup{ + exercise/template = elegant-box, % template des exercices + solution/template = sol-box % template des solutions +} +\end{code} + +\subsubsection{QCM et choix multiples} + +\begin{itemize} +\item \textbf{choices} : pour les QCM à réponse unique. +\end{itemize} + +\begin{code}{latex} +\begin{exercise}[points=2,ID=qcm01] + Quelle est la dérivée de $e^x$ ? + \begin{choices} + \choice $x e^x$ + \choice[\correct] $e^x$ + \choice $e^{x-1}$ + \choice $\ln(x)$ + \end{choices} +\end{exercise} +\end{code} + +\begin{itemize} + +\item + \textbf{checkboxes} : pour les QCM à réponses multiples. +\end{itemize} + +\begin{code}{latex} +\begin{exercise}[points=3,ID=qcm02] + Parmi ces nombres, lesquels sont premiers ? + \begin{checkboxes} + \checkbox[\correct*] 2 + \checkbox[\correct*] 3 + \checkbox 4 + \checkbox[\correct*] 5 + \end{checkboxes} +\end{exercise} +\end{code} + +\section{Environnements mathématiques} + +\subsection{Styles de théorèmes} + +Les styles suivants sont disponibles pour tous les environnements de +type théorème : \textbf{amslikethm} (style minimaliste), \textbf{boxedthm}, \textbf{classicthm}, \textbf{classythm}, \textbf{elegantthm}, \textbf{shadedthm}, \textbf{slantedthm}, \textbf{soberthm}. + +Options communes : + +\begin{itemize} +\item \textbf{title} = \texttt{texte} : titre du théorème. +\item \textbf{label} = \texttt{nom} : étiquette pour + référencement. +\item \textbf{colback} = \texttt{couleur} : couleur de fond. +\item \textbf{colframe} = \texttt{couleur} : couleur du + cadre. +\item \textbf{coltitle} = \texttt{couleur} : couleur du + titre. +\item \textbf{fonttitle} = \texttt{commandes} : style du + titre. +\end{itemize} + +\subsection{Options de numérotation} + +\begin{itemize} +\item \textbf{sectionthmcounter} : compteurs relatifs à chaque section. +\item \textbf{sharedthmcounter} : compteur partagé entre tous les + environnements. +\item \textbf{theoremgroup} : regroupe certains environnements de théorèmes. +\item \textbf{thmgroupcounter} : active un compteur pour les groupes. +\end{itemize} + +\subsection{Environnements mathématiques} + +\begin{itemize} +\item \textbf{theorem} : pour les théorèmes. +\end{itemize} + +\begin{code}{latex} +\begin{theorem}[title=Théorème de Pythagore,label=pyth] + Dans un triangle rectangle, le carré de + l'hypoténuse est égal à la somme des carrés + des deux autres côtés. +\end{theorem} + +% Référencement : +D'après le théorème~\ref{thm:pyth} +\end{code} + +\begin{itemize} +\item + \textbf{lemma} : pour les lemmes. +\end{itemize} + +\begin{code}{latex} +\begin{lemma}[title=Lemme préparatoire,label=prep] + Contenu du lemme... +\end{lemma} + +% Référencement : +Selon le lemme~\ref{lem:prep} +\end{code} + +\begin{itemize} +\item + \textbf{corollary} : pour les corollaires. +\end{itemize} + +\begin{code}{latex} +\begin{corollary}[ + title=Réciproque de Pythagore, + label=pythrecip +] + Si $a^2 + b^2 = c^2$, alors le triangle est + rectangle en $A$. +\end{corollary} + +% Référencement : +Selon le corollaire~\ref{cor:pythrecip} +\end{code} + +\begin{itemize} +\item \textbf{proposition} : pour les propositions (\textbf{propo} pour le + référencement). +\item \textbf{property} : pour les propriétés (\textbf{prop} pour le + référencement). +\item \textbf{definition} : pour les définitions (\textbf{def} pour le + référencement). +\item \textbf{method} : pour les méthodes (\textbf{meth} pour le + référencement). +\item \textbf{activity} : pour les activités (\textbf{act} pour le + référencement). +\item \textbf{application} : pour les applications (\textbf{appl} pour le + référencement). +\item \textbf{remark} : pour les remarques. +\item \textbf{remarks} : pour une série de remarques. +\item \textbf{example} : pour les exemples. +\item \textbf{examples} : pour une série d'exemples. +\end{itemize} + +\section{Code informatique} + +La classe \texttt{neoschool} propose deux options pour la +gestion du code. + +\begin{itemize} +\item \textbf{listings} (par défaut) : utilise l'extension \texttt{listings}. +\item \textbf{minted} : utilise l'extension \texttt{minted} (qui nécessite le langage \textit{Python} et sa bibliothèque + \texttt{Pygments}). +\end{itemize} + +\subsection{Option listings} + +\subsubsection{Styles de code disponibles} + +\begin{itemize} +\item \textbf{lststyle} = \texttt{style} : style de + coloration. + \begin{itemize} + \item \texttt{colorful} : coloration complète (par défaut). + \item \texttt{minimal} : style minimaliste. + \item \texttt{academic} : style ``académique'' avec numéros de ligne. + \item \texttt{modern} : style ``moderne'' avec fond coloré. + \end{itemize} +\end{itemize} + +\subsubsection{Boîtes de code personnalisées} + +La classe définit l'environnement \texttt{code} dont la structure est la suivante : + +\begin{lstlisting}[style=latex] +\begin{code}[options]{langage}[titre][style-boite] + code source... +\end{code} +\end{lstlisting} + +Styles de boîtes : \textbf{box-minimal}, \textbf{box-fancy}, \textbf{box-classic}, \textbf{box-elegant}, \textbf{box-diagonal}, \textbf{box-bevel}, \textbf{box-corner}, \textbf{box-rounded}, \textbf{box-downhill}, \textbf{box-bottomtitle}, \textbf{box-bottomtitlef}. + +\begin{lstlisting}[language=TeX] +\begin{code}[numbers=left]{python}[Exemple de fonction][box-fancy] +def hello(name): + print(f"Hello, {name}!") +\end{code} +\end{lstlisting} + +\subsubsection{Langages et styles préconfigurés} + +\begin{itemize} +\item Python +\item Java +\item C++ +\item JavaScript +\item SQL +\item LaTeX +\item Bash +\item Assembly +\item Lisp +\item JSON +\item YAML +\item TOML +\item CSV +\item Markdown +\end{itemize} + +\subsubsection{Commandes additionnelles} + +\begin{itemize} +\item \textbf{\textbackslash codeinline} : code en ligne. +\end{itemize} + +\begin{code}{latex} +\codeinline[python]{print("Hello")} +\end{code} + +\begin{itemize} + +\item \textbf{\textbackslash codeinput} : code chargé depuis un fichier. +\end{itemize} + +\begin{code}{latex} +\codeinput[options]{langage}{fichier.py}[titre][style-boite] +\end{code} + +\subsection{Option minted} + +Lorsque l'option \textbf{minted} est activée, les environnements de code utilisent \texttt{Pygments} pour la coloration +syntaxique. L'environnement \texttt{code} est également disponible avec l'option \texttt{minted}, avec la même syntaxe : + +\begin{lstlisting}[language=TeX] +\usemintedstyle{tango} +\begin{code}[linenos,highlightlines={2,3}]{python}[Fonction][box-fancy] +def greet(name): + message = f"Hello, {name}!" + print(message) + return message +\end{code} +\end{lstlisting} + +\section{Notes et annotations} + +\subsection{Notes marginales} + +Les notes peuvent être placées dans la marge avec différentes options : + +\begin{itemize} +\item \textbf{\textbackslash tdnote} : notes colorées et encadrées dans la + marge, alternant entre gauche et droite. +\end{itemize} + +\begin{code}{latex} +\tdnote{Point important à retenir} +\tdnote[backgroundcolor=blue!5]{Note avec fond bleu clair} +\end{code} + +\begin{itemize} +\item \textbf{\textbackslash boxnote/\textbackslash tdmark} : l'extension \texttt{todonote} ne permettant pas de placer des notes directement dans des environnements, il est nécessaire d'utiliser un point d'ancrage (\textbf{\textbackslash tdmark}) ayant le même label que le contenu de la note proprement dite (\textbf{\textbackslash boxnote}). +\end{itemize} + +\begin{code}{latex} +\boxnote[thm1]{Ce théorème est important} +\begin{theorem} + \tdmark[thm1] % Point de référence pour la note (même label) + Contenu du théorème... +\end{theorem} +\end{code} + +Les options possibles pour les notes sont les suivantes. + +\begin{itemize} +\item \textbf{backgroundcolor} = \texttt{couleur} : couleur + de fond. +\item \textbf{color} = \texttt{couleur} : couleur du texte. +\item \textbf{bordercolor} = \texttt{couleur} : couleur de + la bordure. +\item \textbf{width} = \texttt{longueur} : largeur de la + note. +\item \textbf{linecolor} = \texttt{couleur} : couleur de la + ligne de référence. +\end{itemize} + +\subsection{Admonitions} + +Les environnements d'admonition permettent de mettre en avant des +informations importantes. Chaque type a sa propre couleur et icône par +défaut. + +\begin{itemize} +\item \textbf{note} : remarques générales. +\end{itemize} + +\begin{code}{latex} +\begin{note}[Remarque importante][\faInfo] + Points à retenir... +\end{note} +\end{code} + +\begin{itemize} +\item \textbf{info} : informations complémentaires. +\end{itemize} + +\begin{code}{latex} +\begin{info}[Pour aller plus loin] + Informations additionnelles... +\end{info} +\end{code} + +\begin{itemize} +\item \textbf{warning} : avertissements. +\end{itemize} + +\begin{code}{latex} +\begin{warning}[Attention !][\faExclamationTriangle] + Points critiques à ne pas oublier... +\end{warning} +\end{code} + +\begin{itemize} +\item \textbf{important} : points essentiels. +\end{itemize} + +\begin{code}{latex} +\begin{important}[Point clé] + Concept fondamental... +\end{important} +\end{code} + +\begin{itemize} +\item \textbf{tip} : conseils et astuces. +\end{itemize} + +\begin{code}{latex} +\begin{tip}[Astuce de calcul][\faLightbulb] + Une méthode plus rapide... +\end{tip} +\end{code} + +\begin{itemize} +\item + \textbf{reminder} : points à retenir. +\end{itemize} + +\begin{code}{latex} +\begin{reminder}[À mémoriser] + Formules essentielles... +\end{reminder} +\end{code} + +\begin{itemize} +\item \textbf{summary} : résumés. +\end{itemize} + +\begin{code}{latex} +\begin{summary}[En bref] + Points principaux du chapitre... +\end{summary} +\end{code} + +\begin{itemize} +\item \textbf{toolbox} : boîte à outils. +\end{itemize} + +\begin{code}{latex} +\begin{toolbox}[Outils nécessaires] + \begin{itemize} + \item Calculatrice + \item Règle graduée + \item Compas + \end{itemize} +\end{toolbox} +\end{code} + +Toutes les admonitions acceptent trois paramètres optionnels : + +\begin{itemize} +\item un titre optionnel ; +\item une icône personnalisée ; +\item des options de personnalisation (couleurs, bordures). +\end{itemize} + +\section{Notation et correction} + +\subsection{Outils de notation} + +\begin{itemize} +\item \textbf{\textbackslash gradingstrip} : bandeau de notation (note et appréciation). +\end{itemize} + +\begin{code}{latex} +% Bandeau simple +\gradingstrip + +% Bandeau avec total spécifié +\gradingstrip[20] +\end{code} + +L'option \textbf{totalpoints} définit le nombre total de points par défaut. + +\begin{code}{latex} +\documentclass[totalpoints=20]{neoschool} +\end{code} + +\begin{itemize} + +\item \textbf{\textbackslash mrk, \textbackslash mrks} : points dans la + marge. +\end{itemize} + +\begin{code}{latex} +% Un point +\mrk[Bien vu !]{1} % Marge droite avec commentaire +\mrk*{1} % Marge gauche + +% Plusieurs points +\mrks{3} % 3 points marge droite +\mrks*[Barème]{3} % 3 points marge gauche avec texte +\end{code} + +\subsection{Zones de réponse} + +\begin{itemize} +\item + \textbf{\textbackslash answerfield} : zone de réponse avec fond coloré. +\end{itemize} + +\begin{code}{latex} +% Zone pleine largeur, 3 lignes +\answerfield{3} + +% Zone 80% largeur, 5 lignes +\answerfield[0.8\linewidth]{5} +\end{code} + +\begin{itemize} +\item + \textbf{\textbackslash answerframe} : zone de réponse encadrée. +\end{itemize} + +\begin{code}{latex} +% Cadre pleine largeur, 3 lignes +\answerframe{3} + +% Cadre 80% largeur, 5 lignes +\answerframe[0.8\linewidth]{5} +\end{code} + +\begin{itemize} +\item + \textbf{\textbackslash vardots} : ligne pointillée de longueur + variable. +\end{itemize} + +\begin{code}{latex} +% Ligne pointillée pleine largeur +\vardots + +% Ligne pointillée de 5cm +\vardots[5cm] +\end{code} + +\subsection{Marqueurs et symboles} + +\begin{itemize} +\item + \textbf{\textbackslash cmark} : symbole de validation (\cmark) +\item + \textbf{\textbackslash xmark} : symbole d'erreur (\xmark) +\item + \textbf{\textbackslash unchecked} : case à cocher vide \unchecked +\item + \textbf{\textbackslash done} : case cochée avec \done +\item + \textbf{\textbackslash wontfix} : case cochée avec \wontfix +\end{itemize} + +\begin{code}{latex} +\begin{itemize} + \unchecked Objectif 1 à réaliser + \done Objectif 2 terminé + \wontfix Objectif 3 abandonné +\end{itemize} +\end{code} + +\subsection{Compétences et évaluation} + +\begin{itemize} +\item + \textbf{\textbackslash competencies} : tableau d'évaluation par + compétences. +\end{itemize} + +\begin{code}{latex} +\competencies{ + Calculer une dérivée\\ + Étudier les variations\\ + Résoudre une équation +} +\end{code} + +Le tableau affiche automatiquement : +\begin{itemize} +\item 4 niveaux de maîtrise avec émojis ; +\item des cases à cocher pour l'évaluation. +\end{itemize} + +\section{Commandes mathématiques et outils spéciaux} + +\subsection{Commandes +mathématiques}\label{commandes-mathuxe9matiques} + +\subsubsection{Mise en valeur et +coloration}\label{mise-en-valeur-et-coloration} + +\begin{itemize} +\item + \textbf{\textbackslash mhl} : surlignage d'expressions mathématiques. +\end{itemize} + +\begin{code}{latex} +% Surlignage jaune par défaut +$\mhl{x^2}$ + +% Surlignage personnalisé +$\mhl[blue!20]{f'(x)}$ + +% Dans une équation sur plusieurs lignes +\begin{align*} + f(x) &= x^2 + \mhl{2x} + 1 \\ + f'(x) &= 2x + \mhl{2} +\end{align*} +\end{code} + +\begin{itemize} + +\item + \textbf{\textbackslash mc} : coloration d'expressions mathématiques. +\end{itemize} + +\begin{code}{latex} +% Couleur du thème par défaut +$\mc{f(x)}$ + +% Couleur personnalisée +$\mc[red]{g(x)}$ + +% Dans une équation +\[ \mc{f'(x)} = \lim_{h \to 0} \mc[blue]{\frac{f(x+h)-f(x)}{h}} \] +\end{code} + +\subsubsection{Support APMEP} + +Lorsque l'option \textbf{apmep} est activée, les commandes suivantes sont disponibles. +\begin{itemize} +\item Commandes de vecteurs : +\end{itemize} + +\begin{code}{latex} +\vect{u} % Vecteur u avec flèche +\vectt{AB} % Vecteur AB avec espacement +\end{code} + +\begin{itemize} +\item Repères et coordonnées : +\end{itemize} + +\begin{code}{latex} +\Oij % Repère (O; i,j) +\Oijk % Repère (O; i,j,k) +\Ouv % Repère (O; u,v) +\end{code} + +\begin{itemize} +\item Commandes spéciales : +\end{itemize} + +\begin{code}{latex} +\euro % Symbole euro +\cg % Crochet gauche +\cd % Crochet droit +\pg % Plus grand ou égal +\pp % Plus petit ou égal +\barre{x} % x surligné +\ds % \displaystyle +\end{code} + +\subsection{Outils spéciaux} + +\subsubsection{Arbres et graphes} + +\begin{itemize} +\item + Arbres avec \emph{l}xtension \texttt{forest} : +\end{itemize} + +\begin{code}{latex} +\begin{neotree} +A + [B + [D] + [E] + ] + [C + [F] + [G] + ] +\end{neotree} + +% Avec poids sur les arêtes +\begin{neotree} +A + [B, w=\frac{1}{3} + [D] + [E] + ] + [C, w=\frac{2}{3}] +\end{neotree} +\end{code} + +\begin{itemize} +\item + Graphes (uniquement avec une compilation en \texttt{lualatex}) : +\end{itemize} + +\begin{code}{latex} +\neograph{ + A -- {B, C, D, F}, + B -- {C, D, F}, + C -> ["3"] D, + D -- [bend left=10] {E}, + E -- [bend left=10] {D}, + E -- [bend left=10] {F}, + F -- [bend left=10] {E}, + A -- [loop] A +} +\end{code} + +\subsubsection{Grille mathématique} + +L'environnement \texttt{mathgrid} permet de disposer +des équations en grille : + +\begin{code}{latex} +\begin{mathgrid}{3} + \neoline + \neocol{ + T &= 7xx+9x\\ + &= (7+9)x \\ + &= 16x + } + \neocol{ + U &= 8x^{2}-5x^{2}+x^{2}\\ + &= (8-5+1)x^{2} \\ + &= 4x^{2} + } + \neocol{ + V &= 5a^{2}-6a\\ + &= a(5a-6) + } + \neoline + \neocol[2]{ + W &= 5a^{2}-6a+3+7a^{2}+a-6\\ + &= (5+7)a^{2}+(-6+1)a+(3-6)\\ + &= 12a^{2}-5a-3 + } + \neocol{ + A &= 2x + 3x\\ + &= 5x + } +\end{mathgrid} +\end{code} + +\end{document} |