neoschool
Fichier cls : neoschool.cls
Documentation au format PDF :
neoschool.pdf (source :
neoschool.tex)
La classe 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 trente-six 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.
Les extensions suivantes sont automatiquement chargées par la classe
neoschool.
adforn, adjustbox, algpseudocode,
amsmath, babel, bookmark,
calc, changepage, cuted,
environ, fontawesome5, forest,
iftex, ifthen, kvoptions,
lastpage, listings, marginnote,
microtype, multicol, nccmath,
needspace, pdftexcmds, pgffor,
pgfplots, pifont, qrcode,
scrlayer-scrpage, setspace,
silence, siunitx, tabularray,
tasks, tcolorbox, textcase,
tikz, tikzpagenodes, tikzsymbols,
ulem, xcolor, xhfill,
xkeyval, xsim, xstring.
La compilation en pdflatex charge les extensions
fontenc (avec l’option T1),
inputenc (avec l’option utf8),
newpxtext et newpxmath. La compilation en
lualatex rend disponible les extensions
fontspec, luacas, lua-ul,
luacolor et applique les polices
TeX Gyre Pagella et TeX Gyre Heros en plus de
newpxmath.
L’option graphics charge les extensions
graphicx et wrapfig. L’option
faketext (anciennement draft) charge les
extensions blindtext et lipsum. L’option
mathastext charge l’extension mathastext.
L’option math charge les extensions
annotate-equations, bm, breqn,
cancel, mathrsfs, ncccomma,
numprint, tdsfrmath (avec les options
suite et taupe), tkz-euclide,
witharrows et xlop.
L’option notes=longueur permet d'afficher des
notes encadrées (todonotes) dans les marges gauche et droite,
de façon alternée, et définit leur largeur. Elle charge l'extension
todonotes.
L’option apmep, qui permet de compiler directement les
sujets d'annales de l'association du même nom, définit un ensemble de
commandes mathématiques et charge les extensions esvect,
fourier-orns, numprint (avec l’option
np), pstricks (et de nombreux paquets de
l’écosystème pstricks), tabularx,
textcomp, tkz-tab et enumitem.
L’option mathics permet de faire du calcul formel via
mathics (version libre de mathematica) et charge
les extensions asymptote et latexalpha2.
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.
nofrenchlist : désactive le style français des listes (remet des points à la place des tirets).
frenchlistaspar : traite les listes comme des paragraphes en français (ajout de ponctuation finale et majuscule initiale).
frenchmath : applique les conventions mathématiques françaises (majuscules et lettres grecques droites en maths).
L’option theme = nom-du-theme définit le
thème de couleurs du document. Les thèmes disponibles sont :
classic (thème par défaut), abyss,
aether, atlantic, autumn,
blossom, botanical, burgundy,
coral, cyprus, day,
deepocean, duo, eagle,
earth, foresthues, frost,
glacier, goldensummer, graphite,
heather, heritage, kassio,
magma, modern, neon,
nordic, purplebliss, retrocafe,
saffronsky, scribe, sepia,
summer, twilight, winkle et
midnight (thème sombre).
\documentclass[theme=retrocafe]{neoschool}
Ces options modifient la façon dont les couleurs du thème sont appliquées.
unicolor : utilise une couleur unique (basée sur la couleur du titre) pour tous les environnements, avec variations par transparence.
examcolor : Règle les couleurs des environnements
pratiques (exercices, activités) et des admonitions (info, warning)
sur la couleur théorique principale (definitionColor).
Cela crée une palette plus sobre et bicolore, adaptée aux examens.
print : convertit toutes les couleurs en noir et blanc pour l'impression.
Permet de surcharger les couleurs du thème choisi.
globalcolor = couleur : couleur du texte
principal.
titlecolor = couleur ou
titlehexcolor = code hex : couleur du
titre principal.
headcolor = couleur : couleur des titres
de section (\section).
subcolor = couleur : couleur des titres
de sous-section (\subsection).
subsubcolor = couleur : couleur des
titres de sous-sous-section (\subsubsection).
headfootcolor = couleur : couleur du
texte des en-têtes et pieds de page.
nothmframe : supprime les cadres autour des environnements (théorèmes, exercices...).
nothmback : supprime les fonds colorés des environnements.
nocodeframe : supprime les cadres autour des blocs de code.
nocodeback : supprime les fonds colorés des blocs de code.
nocodenum : supprime la numérotation des lignes des blocs de code.
noadframe : (Défaut) supprime les cadres autour des boîtes d'admonition.
noadback : (Défaut) supprime les fonds colorés des boîtes d'admonition.
adframe : Réactive l'affichage des cadres des boîtes d'admonition.
adback : Réactive l'affichage des fonds colorés des boîtes d'admonition.
scale : harmonise la taille des polices lors de la
compilation avec lualatex ou xelatex.
inlinecodebox : affiche le code en ligne
(\texttt) dans une boîte encadrée et colorée.
Ces options (de type option=longueur) permettent de
personnaliser le rayon des coins arrondis pour différents types
d'environnements.
longueur : arrondi pour
neobox et answerframe (défaut:
1mm).
longueur : arrondi pour les
boîtes de code (défaut: 1mm).
longueur : arrondi pour les
admonitions (défaut: 2pt).
longueur : arrondi pour
sidebyside (défaut: 1pt).
longueur : arrondi pour les
théorèmes (défaut: 1mm).
longueur : arrondi pour les
exercices (défaut: 1mm).
longueur : arrondi pour
pseudocode (défaut: 1mm).
L’option abstracttitle permet de changer le titre de
l’environnement abstract.
\documentclass[abstracttitle=Synthèse]{neoschool}
sfbody : utilise la police sans empattements (sans serif) pour le corps du texte.
sfall : utilise la police sans empattements pour tout le document (titres, texte, etc.).
boldlistlabels : met en gras les labels des listes (ex: 1., a.).
mathastext : utilise la police de caractères du texte courant pour les mathématiques.
mainface = NomPolice : définit la police
principale (avec empattements).
mainfaceoptions = options : options pour
la police principale (ex: Scale=MatchLowercase).
sansface = NomPolice : définit la police
sans empattements.
sansfaceoptions = options : options pour
la police sans empattements.
monoface = NomPolice : définit la police
à chasse fixe (pour le code).
monofaceoptions = options : options pour
la police à chasse fixe.
mathface = NomPoliceMath : définit la
police mathématique.
mathfaceoptions = options : options pour
la police mathématique (pdflatex uniquement).
mathfacescale = facteur : définit un
facteur d'échelle pour la police mathématique (utile en compilation
lualatex ou xelatex).
facefamily = NomFamille : définit une
famille complète de polices (ex: fira).
facefamilyoptions = options : options
pour la famille de polices.
% Exemple avec Fira Sans
\documentclass[
facefamily=Fira Sans,
facefamilyoptions={%
sfdefault,
lining
},
monoface=Fira Mono,
monofaceoptions={Scale=0.85}
]{neoschool}
margin = longueur : définit la largeur
des marges horizontales (par défaut: 1cm). Les marges
verticales sont ajustées automatiquement.
notes = longueur : active les notes
marginales (todonotes) et définit leur largeur.
leftnotes[=longueur] : active les notes
marginales (todonotes) uniquement dans la marge de gauche
et définit leur largeur.
rightnotes[=longueur] : active les notes
marginales (todonotes) uniquement dans la marge de droite
et définit leur largeur.
noindent : supprime l'indentation en début de paragraphe.
indent = longueur : définit la taille de
l'indentation (par défaut: 1em).
vspacing = facteur : définit un facteur
de compression/dilatation pour les espacements verticaux (paragraphes,
listes, titres). Par défaut: 1.0. Une valeur < 1
compresse, > 1 dilate.
Ces options permettent d'imprimer plusieurs pages logiques sur une seule page physique.
2a5toa4 : imprime 2 fois la même page A5 sur une feuille A4 paysage.
2a4toa3 : imprime 2 fois la même page A4 sur une feuille A3 paysage.
4a5toa3 : imprime 4 fois la même page A5 sur une feuille A3.
2toa3 : imprime 2 pages A4 différentes sur une feuille A3 paysage.
bookleta5 : crée un livret A5 (pages A5 sur feuilles A4 pliées).
bookleta4 : crée un livret A4 (pages A4 sur feuilles A3 pliées).
compacttoc : réduit les espacements dans la table des matières.
monotoc : la table des matières utilise la couleur du
texte (globalcolor).
twocolumntoc : affiche la table des matières sur deux colonnes.
fullheader : active un en-tête et pied de page
complets (type de document, titre, niveau / date, établissement,
pagination). S'utilise conjointement avec \neoheader.
headrule : ajoute un filet sous l'en-tête.
footrule : ajoute un filet au-dessus du pied de page.
headfootrule : ajoute les deux filets.
nofooter : supprime complètement l'en-tête et le pied
de page (style empty).
pageonlyfooter : affiche uniquement le numéro de page
centré en bas (style pagenum).
\maketitle)Ces options modifient radicalement l'apparence de la première page et du titre.
Idéal pour les devoirs surveillés, examens blancs.
\neoheader.
\neoheader.
\neoheader.
\documentclass[exam]{neoschool}
\neoheader{
type = Devoir Surveillé n°1,
school = Lycée Imaginaire,
level = Terminale Spé Maths,
duration = 2h,
calculator = exam % ou true/false
}
\title{Suites numériques}
\date{21 octobre 2025}
\subject{Mathématiques} % Optionnel
\begin{document}
\maketitle
...
\end{document}
Adaptés aux contrôles, interrogations rapides.
\neoheader.
eval avec icônes
personnalisables via \neoheader.
eval avec bandeau de
notation ajouté automatiquement.
evalicons et
evalgrade.
\neoheader.
Effets visuels pour des documents moins formels.
bubbles : titre centré sur fond de bulles colorées.
topbubbles : bulles confinées en haut de la page, titre en dessous.
bottombubbles : bulles confinées en bas de la page, titre au-dessus.
Options plus classiques ou minimalistes.
titleornament : ajoute des ornements sous le titre.
titlerule : ajoute un petit filet sous le titre.
titlemidrule : ajoute un filet centré de largeur moyenne sous le titre.
titlefullrule : ajoute un filet de 66% de la largeur sous le titre.
titlebox : titre dans un bandeau coloré en haut de page.
tighttitle : style de titre compact, sans boîte, avec moins d'espacement vertical.
onlytitleleft / onlytitle / onlytitleright : affiche uniquement le titre, aligné à gauche / centré / à droite. Ignore auteur, date, etc.
shorttitle : style compact, titre centré sur une ligne en haut de page.
shortlesson : style compact pour fiches de cours,
avec type, titre et niveau sur une ligne. Nécessite
\neoheader.
\neoheader)
Cette commande configure les informations utilisées par les styles
exam, eval, mockexam,
shortlesson et l'option fullheader.
\neoheader{
type = {Interrogation de cours}, % Type de document
school = {Collège A. Turing}, % Nom de l'établissement
academy = {Lyon}, % Nom de l'académie (pour mockexam)
level = {Quatrième}, % Niveau de classe
duration = {20 minutes}, % Durée (pour exam, mockexam)
calculator = {false}, % Calculatrice: true / false / exam
leftcontent = {\faFlask}, % Icône gauche (pour evalicons)
rightcontent = {\faCalculator} % Icône droite (pour evalicons)
leftcontentfill = {true}, % (pour evalicons, booléen)
rightcontentfill = {true} % (pour evalicons, booléen)
Ces options contrôlent l'apparence (police, graisse, forme, alignement) des différents titres du document.
S'appliquent par défaut à tous les titres (sections, théorèmes, exercices...).
headstyle = style (sffamily
par défaut) : famille de police (ex: rmfamily,
sffamily).
headweight = graisse (bfseries
par défaut) : graisse (ex: mdseries,
bfseries, sbseries pour semi-gras si
disponible).
headshape = forme (scshape
par défaut) : forme (ex: upshape, itshape,
scshape pour petites capitales).
\maketitle)
Surcharge les styles globaux pour le titre principal.
titlestyle = style (hérite de
headstyle).
titleweight = graisse (hérite de
headweight).
titleshape = forme (upshape
par défaut).
titlealign = alignement (center
par défaut) : left, center,
right.
\section)Options spécifiques pour les titres de section.
sectionnumstyle = style (circle
par défaut) : apparence du numéro (circle,
box, dash, plain).
sectiontextstyle = style (sc
par défaut) : casse du texte (sc, upper,
lower).
sectionstyle = style (normal
par défaut) : style visuel global (ornaments,
underline, normal, highlighted,
shadedline).
sectionalign = alignement (center
par défaut) : left, center,
right.
style (hérite de
titlestyle) : style de police pour le texte des en-têtes et
pieds de page.
\documentclass[
% Style global
headstyle=sffamily,
headweight=bfseries,
headshape=scshape,
% Titre principal
titlestyle=rmfamily,
titleweight=bfseries,
titleshape=upshape,
titlealign=left,
% Sections
sectionnumstyle=box,
sectiontextstyle=upper,
sectionstyle=underline,
sectionalign=left,
% En-têtes/pieds de page
headfootstyle=sffamily
]{neoschool}
La commande
\positionobject{x}{y}{scale}{contenu}
place contenu aux coordonnées (x, y) depuis le coin
supérieur gauche de la page, avec un facteur d'échelle.
% Logo en haut à droite
\positionobject{15cm}{1cm}{0.5}{%
\includegraphics[width=3cm]{logo.png}%
}
% Texte en bas à gauche
\positionobject{2cm}{25cm}{1.2}{%
\textit{Note importante}%
}
La commande
\splitcontent[w1][gap]{col1}{col2}
divise l'espace horizontal.
\splitcontent[0.45][0.03]{%
Contenu colonne 1 (45 (*@\%@*)) \lipsum[1][1-2]
}{%
Contenu colonne 2 (52 (*@\%@*)) \lipsum[1][1-2]
}
sidebyside)
Crée deux boîtes tcolorbox côte à côte. Utiliser
\tcblower pour passer de la boîte gauche à la droite. Accepte
les options de tcolorbox.
\begin{sidebyside}[
title=\centering Comparaison,
]
Avantages
\begin{itemize}
\item Point 1
\end{itemize}
\tcblower % Sépare les deux colonnes
Inconvénients
\begin{itemize}
\item Point A
\end{itemize}
\end{sidebyside}
La commande
\textwithimage[*]{w_img}{s_img}{texte}{chemin_img}
combine du texte et une image.
* : si présent, met l'image à gauche (droite par défaut).
% Image à droite (30 % de la largeur)
\textwithimage{0.3}{1}{%
Description de l'image qui
sera affichée à droite.
}{example-image-a} % image fictive
% Image à gauche (40 % de la largeur)
\textwithimage*{0.4}{0.9}{%
Description à droite de l'image.
}{example-image-b} % image fictive
La commande
\withqrcode[*][taille]{url}{contenu}
intègre un QR code à côté d'un contenu.
* : place le QR code à droite (gauche par défaut).% QR code à gauche (défaut 2cm)
\withqrcode{https://www.google.com}{
Scannez pour visiter Google.
}
% QR code à droite (3cm)
\withqrcode*[3cm]{https://fr.wikipedia.org}{
Plus d'informations sur Wikipedia.
}
Commandes pour dessiner des zones quadrillées.
\grid[couleur]{largeur}{hauteur} :
grille à petits carreaux (5mm x 5mm).
\customgrid[couleur][dx][dy]{largeur}{hauteur}
: grille avec espacement personnalisé (dx, dy).
\frenchgrid[coul_p][coul_g]{largeur}{hauteur}
: grille à grands carreaux de type Seyès. La version étoilée
\frenchgrid* centre la grille horizontalement.
\customgrid[blue!50][2mm][2mm]{6cm}{3cm}
\frenchgrid{7.5cm}{3cm}
\frenchgrid*{5cm}{2cm} % centrée
La commande \gridfill remplit l'espace vertical restant sur
la page avec une grille customgrid (5mm par défaut). La
version étoilée \gridfill* utilise frenchgrid.
% Syntaxe : \gridfill[*][couleur][dx][dy]
% Remplit avec une grille customgrid bleue 2mm x 2mm
\gridfill[blue][2mm][2mm]
% Remplit avec une grille frenchgrid (par défaut)
\gridfill*
Applique un style de fond à la page courante.
\notebook : style cahier ligné avec marge rouge.
\nbminorgrid : fond quadrillé petits carreaux (5mm).
\nbmajorgrid : fond quadrillé Seyès.
\nbminorgrid % Applique le quadrillage fin à toute la page
neobox)
Environnement pour créer des boîtes tcolorbox simples, avec
ou sans cadre. Accepte les options de tcolorbox.
neobox : boîte avec cadre.neobox* : boîte sans cadre visible (mais fond possible).
\begin{neobox}[
title=Boîte standard
]
Contenu...
\end{neobox}
\begin{neobox*}
Contenu sans cadre visible...
\end{neobox*}
Basé sur l'extension xsim.
exercise et solution
Options disponibles dans \begin{exercise}[options].
points = nombre : nombre de points.
bonus-points = nombre : points bonus.
level = nombre : niveau de difficulté (1
à 5, affiché en étoiles ☆).
subtitle = texte : sous-titre ou
description brève.
icon = nom-icone-fa : icône FontAwesome
(ex: pencil-alt). Nécessite l'option de classe
exerciseicons.
topic = thème : thème/chapitre (pour
tri/sélection future).
grade = classe/niveau : niveau de classe
(pour tri/sélection).
subject = matière : matière (pour
tri/sélection).
ID = identifiant : identifiant unique
pour référencer l'exercice (\exercisenumber{id}).
template = nom-template : style
d'affichage spécifique pour cet exercice (voir liste ci-dessous).
Surcharge le style global.
\begin{exercise}[
points=3,
bonus-points=1,
level=2,
subtitle={Application},
ID=calc01,
template=sober-box
]
Calculer $3 \times (5+2)$.
\end{exercise}
\begin{solution}
$3 \times (5+2) = 3 \times 7 = 21$.
\end{solution}
Voir exercice \exercisenumber{calc01}.
\xsimsetup)À placer dans le préambule pour affecter tout le document.
exercise/template = nom-template :
définit le style par défaut pour tous les exercices.
solution/template = nom-template-sol :
définit le style par défaut pour toutes les solutions (ex:
sol-inline, sol-block,
sol-dotted).
solution/print = true/false : affiche ou
masque globalement les solutions. Peut être surchargé par l'option de
classe answers.
Autres options de classe affectant les exercices :
exstyle = nom-style : définit le style
d'affichage (template) par défaut pour tous les exercices (ex :
inline, box-hrule,
elegant-box). Si non spécifié, il utilise le style défini
par thmstyle.
exerciseicons : active l'affichage des icônes pour tous les exercices.
answers / answersonly : affiche les solutions après chaque exercice / Affiche uniquement les solutions.
shuffle : mélange aléatoirement les réponses dans les
QCM (choices, checkboxes).
sectionthmcounter : numérote les exercices (et théorèmes) par section (ex: Ex 1.1, Ex 1.2, Ex 2.1...).
sharedexcounter : partage le même compteur entre
exercices et théorèmes (combiné avec sharedthmcounter).
blocksol : utilise le template
sol-block pour les solutions.
Valeurs possibles pour template (option d'exercice ou
xsimsetup).
num-box mais avec "Ex." avant le numéro.
amslikethm) : style
simple en ligne, comme un paragraphe.
\faTerminal.
\xsimsetup{exercise/template=box-hrule-out}
\begin{exercise}[points=2]
Style box-hrule-out.
\end{exercise}
\xsimsetup{exercise/template=inline} % Retour au défaut
Environnements à utiliser à l'intérieur d'un exercice.
(n) : pour QCM à réponse
unique. \choice pour une réponse,
\choice[\correct] pour la bonne réponse. n est le
nombre de colonnes.
(n) : pour QCM à réponses
multiples. \checkbox pour une réponse,
\checkbox[\correct*] pour une bonne réponse. n est
le nombre de colonnes.
\begin{exercise}[ID=qcm-deriv, points=1]
Quelle est la dérivée de $f(x)=x^2$ ?
\begin{choices}(2) % Sur 2 colonnes
\choice[\correct] $x\mapsto 2x$
\choice $x\mapsto x$
\choice $x\mapsto x^2$
\choice $x\mapsto 2$
\end{choices}
\end{exercise}
\begin{exercise}[ID=qcm-props, points=2]
Cochez les propriétés vraies.
\begin{checkboxes}(1) % Sur 1 colonne
\checkbox[\correct*] $1+1=2$
\checkbox $\sqrt{2}$ est rationnel.
\checkbox[\correct*] $0 \times 5 = 0$
\end{checkboxes}
\end{exercise}
Basés sur tcolorbox.
Ces options de classe définissent l'apparence par défaut de tous les environnements de type théorème.
nom-style : permet de définir
le style de théorème en utilisant son nom (ex : elegant,
amslike, shaded).
% Applique le style 'elegant' à tous les environnements mathématiques.
\documentclass[thmstyle=elegant]{neoschool}
Passées entre crochets : \begin{theorem}[options].
title = texte : titre personnalisé (ex:
title=Théorème de Pythagore).
label = nom : étiquette pour
référencement (\ref, \nameref).
colback = couleur : couleur de fond
spécifique.
colframe = couleur : couleur du cadre
spécifique.
coltitle = couleur : couleur du titre
spécifique.
fonttitle = commandes : commandes de
formatage pour le titre (ex:
fonttitle=\sffamily\bfseries).
sectionthmcounter : les compteurs sont relatifs à chaque section (ex: Thm 1.1, Def 1.2, Thm 2.1...).
sharedthmcounter : un seul compteur est partagé entre tous les environnements (Thm 1, Def 2, Lem 3...).
thmgroupcounter : regroupe les environnements (théorème, lemme, corollaire, proposition, propriété) sous un même compteur partagé.
thm)lem)cor)conj)propo)prop)def)meth)act)appl)ex)\begin{definition}[
title=Nombre premier,
label=premier
]
Un entier naturel est dit premier
s'il admet exactement deux diviseurs
distincts : 1 et lui-même.
\end{definition}
Voir la définition~\ref{def:premier}.
\begin{proof}
La preuve est triviale et laissée
en exercice au lecteur.
\end{proof}
Deux systèmes sont disponibles via les options de classe listings (défaut) ou minted.
listings
Utilise l'extension listings. La coloration syntaxique est
définie par le thème de couleurs choisi.
codeAffiche un bloc de code.
\begin[options]{code}{langage}[titre][style-boite]
... code ...
\end{code}
options : options de listings (ex:
numbers=none, frame=single).
langage : langage du code (ex: python,
latex, c++...).
titre : titre optionnel pour la boîte.style-boite : style de la boîte tcolorbox
(voir ci-dessous).
code* : variante sans numérotation automatique du listing.
L'option de classe codestyle=[style] (par défaut
box-elegant) permet de définir le style de boîte pour
l'ensemble du document. Le paramètre [style-boite] de
l'environnement permet de surcharger ce choix localement.
Styles de boîtes disponibles : box-minimal,
box-subtle, box-fancy, box-elegant,
box-sober, box-academic,
box-diagonal, box-bevel,
box-corner, box-rounded,
box-downhill, box-toptitle,
box-bottomtitle.
\begin{code}{python}[Fonction Carre][box-minimal]
def square(x):
"""Calcule le carré de x."""
return x * x
\end{code}
Python, Java, C++,
JavaScript, SQL, LaTeX,
Bash, Assembly, Lisp,
JSON, YAML, TOML, CSV,
Markdown.
\codeinline[lang]{code} : affiche du
code en ligne avec coloration (lang optionnel).
\codeinput[opt]{lang}{fichier}[titre][style]
: importe et affiche le code depuis un fichier.
Le code \codeinline[python]{x = 5} initialise x.
codewidth = facteur : (défaut:
1.0) définit la largeur des blocs de code en tant que
facteur de \linewidth.
centeredcode : option booléenne pour centrer les blocs de code sur la page.
minted
Utilise l'extension minted, nécessitant Python et Pygments
installés, ainsi qu'une compilation avec l'option
--shell-escape. Offre une coloration syntaxique plus riche.
L'environnement code, code*,
\codeinline et \codeinput fonctionnent de
manière similaire, mais les options passées sont celles de
minted (ex: linenos,
highlightlines={2,3}, style=tango). Les styles
de boîtes restent les mêmes.
\documentclass[minted]{neoschool}
...
\usemintedstyle{friendly}
\begin{code}[linenos]{python}[Exemple Minted]
import math
def circle_area(radius):
return math.pi * radius**2
\end{code}
La classe fournit un environnement pseudocode basé sur
algpseudocode et tcolorbox pour afficher des
algorithmes. Il est automatiquement numéroté et titré.
\begin{pseudocode}{Algorithme Exemple}
\Require $n \ge 0$
\Ensure $y = x^n$
\State $y \Gets 1$
\If{$n < 0$}
\State $X \Gets 1/x$
\State $N \Gets -n$
\Else
\State $X \Gets x$
\State $N \Gets n$
\EndIf
\While{$N \neq 0$}
\If{$N$ is even}
\State $X \Gets X \times X$
\State $N \Gets N/2$
\Else[$N$ is odd]
\State $y \Gets y \times X$
\State $N \Gets N-1$
\EndIf
\EndWhile
\end{pseudocode}
todonotes)
Activées par l'option de classe notes=longueur.
\tdnote[options]{texte} : Crée une note
dans la marge. Les notes alternent côté gauche/droit. Les options
(backgroundcolor, linecolor, etc.) sont
celles de todonotes.
\boxnote[label]{texte} +
\tdmark[label] : Permet de placer une
tdnote (boxnote) ancrée à un endroit précis
(tdmark) même à l'intérieur d'environnements où
todonotes échoue. Le label doit être identique.
Ceci est un texte\tdnote{Point important!}.
\boxnote[thm-imp]{Ne pas oublier cette hypothèse.}
\begin{theorem}
\tdmark[thm-imp] Si $x>0$, alors...
\end{theorem}
Boîtes colorées avec icônes pour attirer l'attention sur certains points.
note : remarques générales (\faEdit).info : informations complémentaires
(\faInfoCircle).
warning : avertissements
(\faExclamationTriangle).
\faExclamationCircle).
\faLightbulb).
\faBookmark).
\faClipboardList).
\faTools).
Chaque environnement accepte
[Titre optionnel][Icône optionnelle]. L'option
de classe inlineadmonition (activée par défaut) affiche
le titre et le contenu sur la même ligne. Pour désactiver ce comportement
et forcer le contenu à s'afficher sous le titre, utilisez l'option
blockadmonition
\begin{warning}[Attention][\faSkull]
Ne pas diviser par zéro !
\end{warning}
\begin{tip}
Penser à factoriser d'abord.
\end{tip}
\gradingstrip[total] : affiche un bandeau pour la
note et l'appréciation. total optionnel surcharge le total
défini par l'option de classe totalpoints
(défaut: 20).
\mrk[*][comm]{pts} : affiche (pts
pt) ou (pts pts) dans la marge. * place à gauche,
comm ajoute un commentaire.
\gradingstrip[10] % Barème sur 10
Question 1 \mrk*[Détail du barème...]{3}
\answerfield[largeur]{lignes} : crée une
zone de réponse avec fond coloré, d'une hauteur de
lignes lignes de texte et d'une largeur (défaut:
\linewidth).
\answerframe[largeur]{lignes}[options]
: crée une zone de réponse encadrée, d'une hauteur de lignes et
d'une largeur (défaut: \linewidth).
\vardots[longueur] : dessine une ligne pointillée
de longueur (défaut: \linewidth).
Réponse : \answerfield[6cm]{1}
Signature : \vardots[4cm]
\cmark : ✓ (vert).
\xmark : ✗ (rouge).
\unchecked : ☐ (pour listes).
\done : ☑ (pour listes).
\wontfix : ☒ (pour listes).
\begin{itemize}
\unchecked Tâche 1
\done Tâche 2
\wontfix Tâche 3
\end{itemize}
\competencies{Comp1\\ Comp2...} : crée un
tableau pour évaluer des compétences selon 4 niveaux de maîtrise (avec
emojis).
\competencies{
Maîtriser les fractions \\
Résoudre une équation du 1er degré \\
Calculer une dérivée
}
\mhl[couleur]{expr} : surligne l'expression
mathématique expr avec la couleur (défaut: couleur
spécifique du thème).
\mc[couleur]{expr} : colore l'expression
mathématique expr avec la couleur (défaut: couleur
spécifique du thème).
\mathbox<fond>[bordure]{contenu} : encadre
rapidement du contenu mathématique dans une boîte
tcolorbox. La couleur de fond (défaut : blanc) et
de bordure (défaut : couleur spécifique du thème) sont
personnalisables.
$f(x) = \mhl[cyan!20]{x^2} + \mc[blue]{3x} - 1$
$\mathbox{E=mc^2}$ % Fond blanc, bordure theme
$\mathbox<yellow!20>[red]{a^2+b^2=c^2}$ % Perso
Commandes disponibles avec l'option de classe apmep.
Vecteurs : \vectt{AB}.
Repères : \Oij, \Oijk, \Ouv.
Symboles/Commandes : \euro (€), \cg (]),
\cd ([), \pg (≥), \pp (≤),
\barre{x} (x̄).
Arbres (environnement neotree) : utilise
forest. La syntaxe est celle de forest, avec
des options passées à l'environnement. L'option
w=val ajoute un poids sur une branche.
Graphes (commande \neograph,
lualatex requis) : utilise TikZ graphs. La
syntaxe est celle de TikZ pour les graphes.
\begin{neotree}[l=2cm, s sep=1cm]
A [B, w=\frac{1}{3} [D] [\overline{D}]]
[C, w=\frac{2}{3} [D] [\overline{D}]]
\end{neotree}
% Nécessite lualatex
\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
}
mathgrid)
Environnement pour aligner des blocs d'équations (align*) en
grille.
\begin{mathgrid}{n} : démarre une grille à
n colonnes.
\neoline : commence une nouvelle ligne dans la grille.
\neocol[span]{contenu} : ajoute une colonne
contenant contenu (un bloc align*).
span (optionnel, défaut 1) indique sur combien de colonnes
s'étend le contenu.
\begin{mathgrid}{2} % 2 colonnes
\neoline % Ligne 1
\neocol{ % Col 1
A &= 1+1 \\ A &= 2
}
\neocol{ % Col 2
B &= 3 \times 4 \\ B &= 12
}
\neoline % Ligne 2
\neocol[2]{ % Colonne unique (span=2)
C &= A+B \\ C &= 2+12 \\ C &= 14
}
\end{mathgrid}