<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; chasse
  fixe.
\item \textbf{monofaceoptions} = \texttt{options} : options
  de la police Ã&nbsp; 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 Ã&nbsp; gauche, titre au centre et niveau de classe Ã&nbsp;
    droite.
  \item Pied de page : date Ã&nbsp; gauche, Ã©tablissement au centre et pagination
    Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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Ã© Ã&nbsp; gauche.
\item \textbf{onlytitle} : affiche uniquement le titre, centrÃ©.
\item \textbf{onlytitleright} : affiche uniquement titre, alignÃ© Ã&nbsp; 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} : Ã&nbsp; gauche.
  \item \texttt{center} : centrÃ©
  \item \texttt{right} : Ã&nbsp; 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 Ã&nbsp; positionner (image,
  texte, etc.).
\end{itemize}

% Exemple : Image en haut Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; cÃ´te}

L'environnement \texttt{sidebyside} permet de crÃ©er des
boÃ®tes Ã&nbsp; 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 Ã&nbsp; droite (30 % de la largeur)
\textwithimage{0.3}{0.95}{
    Ce texte dÃ©crit l'image ci-contre...
}{images/figure.png}

% Image Ã&nbsp; gauche (40 % de la largeur)
\textwithimage*{0.4}{0.9}{
    Description Ã&nbsp; 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 Ã&nbsp; droite (gauche par dÃ©faut)

% QR code Ã&nbsp; gauche (2 cm par dÃ©faut)
\withqrcode{https://example.com}{
    Scanner pour plus d'informations
}

% QR code de 3cm Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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 Ã&nbsp; 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) &amp;= x^2 + \mhl{2x} + 1 \\
    f'(x) &amp;= 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 -&gt; ["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 &amp;= 7xx+9x\\
          &amp;= (7+9)x \\
          &amp;= 16x
    }
    \neocol{
        U &amp;= 8x^{2}-5x^{2}+x^{2}\\
          &amp;= (8-5+1)x^{2} \\
          &amp;= 4x^{2}
    }
    \neocol{
        V &amp;= 5a^{2}-6a\\
          &amp;= a(5a-6)
    }
    \neoline
    \neocol[2]{
        W &amp;= 5a^{2}-6a+3+7a^{2}+a-6\\
          &amp;= (5+7)a^{2}+(-6+1)a+(3-6)\\
          &amp;= 12a^{2}-5a-3
    }
    \neocol{
        A &amp;= 2x + 3x\\
          &amp;= 5x
    }
\end{mathgrid}
\end{code}

\end{document}
</pre></body></html>