neoschoolneoschool 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. Elle intègre soixante-cinq thèmes de couleurs, seize profils
préconfigurés, plus de trente mises en page de titre, des environnements
spécialisés pour les théorèmes, les exercices, le code et les
admonitions, ainsi que plusieurs dizaines d'extensions LaTeX couramment
utilisées.
Le plus simple pour démarrer est de choisir un profil, qui configure automatiquement le thème, le style de titre, les boîtes et les formes :
\documentclass[french, profile=academic]{neoschool}
Si l'on préfère tout paramétrer manuellement :
\documentclass[french, theme=axiom, titlelayout=band, thmstyle=bar, exstyle=capsule]{neoschool}
La classe charge automatiquement des dizaines d'extensions ; il est
donc rarement nécessaire d'ajouter des \usepackage
supplémentaires.
L'option profile=<nom> configure d'un seul coup le
thème, le style de titre, les styles de boîtes (théorèmes, exercices,
admonitions, code), la forme des coins et les niveaux d'opacité. Seize
profils sont disponibles. Une option donnée explicitement prime
toujours sur le profil. Dans exam, swiss et
elegant, cadres et fonds des théorèmes sont désactivés :
ceux-ci prennent le style raw.
royal, titre band,
thmstyle block, exstyle bar, adstyle
modern, codestyle plain, boxshape
soft.
ink, titre stream,
thmstyle plain, exstyle line-outline,
adstyle classic, codestyle lines, boxshape
sharp.
azure, titre
notion, thmstyle tile, exstyle
capsule, adstyle material, codestyle
shadow, boxshape rounded.
marine, titre
blocks, thmstyle bar, exstyle
shell, adstyle professional, codestyle
frame, boxshape chamfer.
lagoon, titre bristol,
thmstyle sticker, exstyle badge, adstyle
soft, codestyle plain, boxshape
chat.
eval, thmstyle
plain, exstyle inline, boxshape
sharp. Active le mode print
(sans fond ni cadre).
forest, titre flow,
thmstyle curve, exstyle capsule, adstyle
soft, boxshape leaf.
crimson, titre
geometric, thmstyle fold, exstyle
rule, adstyle classic, boxshape
bevel.
frost, titre grid,
thmstyle frame, exstyle counter-inline,
adstyle classic, boxshape sharp.
crimson, titre brush,
thmstyle bar, exstyle capsule-outline,
adstyle modern, boxshape southeast.
neon, titre memphis,
thmstyle pastel, exstyle badge, adstyle
material, boxshape sharpish.
rhodium, titre
spine, thmstyle tag, exstyle
capsule, adstyle classic, boxshape
west.
velours, titre minimal,
thmstyle bar, exstyle line-circle, adstyle
classic, boxshape sharp.
slate, titre band,
thmstyle tile, exstyle bar, adstyle
professional, boxshape sharp.
terra, titre tech,
thmstyle sticker, exstyle rule, adstyle
classic, boxshape sharp.
moss, titre wave, thmstyle
block, exstyle line-outline, adstyle
soft, boxshape sharpish. Active le mode
unicolor.
La classe charge automatiquement les extensions suivantes (il n'est
pas nécessaire de les appeler avec \usepackage) :
adforn, adjustbox,
algpseudocode, bookmark, calc,
changepage, colortbl, cuted,
enumitem, environ, etoolbox,
fontawesome5, forest, iftex,
kvoptions, lastpage,
marginnote, mathtools,
microtype, multicol, nccmath,
needspace, pdftexcmds, pgffor,
pgfplots, pifont, qrcode,
scrlayer-scrpage, setspace,
silence, siunitx, tabularray,
tasks, tcolorbox, tikz,
tikzpagenodes, tikzsymbols,
ulem, wrapfig, xcolor,
xhfill, xkeyval, xsim,
xstring.
| Option | Extensions chargées |
|---|---|
nomath |
Désactive l'ensemble des extensions mathématiques chargées par
défaut (annotate-equations, bm,
cancel, esvect, mathrsfs,
ncccomma, numprint,
tdsfrmath, tkz-euclide,
tkz-tab, witharrows, xlop)
afin de réduire le temps de compilation.
|
apmep |
Extensions pour les annales de concours :
esvect, pstricks et associés,
variations, etc. Symboles : \cg,
\cd, \pg, \pp.
|
mathastext |
Utilise la police du texte pour le mode mathématique. |
faketext |
blindtext et lipsum. |
notes |
todonotes. Variantes : leftnotes,
rightnotes. Forme détaillée :
noteswidth=dim et
notesposition=left|right|alternate.
|
mathics |
asymptote et latexalpha2. |
Trois langues sont prises en charge. La langue choisie adapte
automatiquement les libellés des environnements (théorème, exercice,
preuve, etc.) et les conventions typographiques via
babel.
| Option | Effet |
|---|---|
french |
Français (conventions de babel-french et
frenchmath).
|
english |
Anglais (par défaut). |
german |
Allemand. |
nofrenchmath |
Avec french, n'enclenche pas le chargement de
frenchmath.
|
nofrenchlist |
Désactive les tirets longs pour les listes en français. |
frenchlistaspar |
Traite les éléments de liste comme des paragraphes. |
boldlistlabels |
Met en gras les numéros des listes numérotées. |
Avec LuaLaTeX ou XeLaTeX, les polices du système sont accessibles. Chaque famille peut être configurée indépendamment avec sa propre échelle.
| Option | Effet |
|---|---|
mainface=Nom |
Police serif principale. |
sansface=Nom |
Police sans-serif (titres, sections). |
monoface=Nom |
Police à chasse fixe (code). |
mathface=Nom |
Police mathématique. |
facefamily=Nom |
Pré-réglage de famille de polices. |
facefamilyoptions=options |
Options de la famille de polices. |
mainfacescale, sansfacescale,
monofacescale, mathfacescale
|
Facteur d'échelle pour chaque famille (défaut : 1.0). |
sfbody |
Corps du texte en sans-serif. |
sfall |
Tout le document en sans-serif. |
semibold |
Active la détection automatique de la variante SemiBold de
mainface/sansface/monoface,
utilisée par \sbseries et \textsb. À
n'activer que si la police possède réellement un poids SemiBold ;
désactivée par défaut pour éviter le message luaotfload
« Reload initiated » sur les polices sans variante SemiBold.
Désactivée, \sbseries retombe sur
\bfseries.
|
Chaque police accepte aussi des options supplémentaires via
mainfaceoptions, sansfaceoptions,
monofaceoptions et mathfaceoptions.
| Option | Effet |
|---|---|
margin=dim |
Marges latérales (défaut : 1.5cm). |
vspacing=facteur |
Multiplicateur d'espacement vertical global (0.25 à 2.0, défaut : 1.0). |
indent=dim |
Retrait de paragraphe (défaut : 1em). |
noindent |
Supprime l'indentation en début de paragraphe. |
parskip=valeur |
Espacement inter-paragraphes (défaut : half). Valeurs
KOMA-Script : false,
true/full, half, avec
suffixes optionnels -, +,
* pour le « fill » de fin de ligne. Ne pas charger le
package parskip en parallèle.
|
listparskip |
Propage l'espacement parskip à l'intérieur des listes
(itemize, enumerate,
description) pour un rythme typographique cohérent.
Activée par défaut. Utiliser nolistparskip pour
conserver des listes compactes indépendamment de
parskip.
|
| Option | Effet |
|---|---|
compacttoc |
Table des matières compacte. |
twocoltoc |
Table des matières sur deux colonnes. |
monotoc |
Table des matières en couleur primaire uniquement. |
| Option | Effet |
|---|---|
fullheader |
Active l'en-tête complet. |
nofooter |
Supprime le pied de page. |
pageonlyfooter |
N'affiche que le numéro de page en pied. |
Des options permettent d'imprimer plusieurs pages sur une feuille ou
de produire des livrets :
2a5toa4, 2a4toa3, 4a5toa3,
2toa3, bookleta5, bookleta4.
L'option theme=nom sélectionne un thème parmi les
soixante-cinq disponibles. Chaque thème définit quatre couleurs :
primaire (titres, sections, définitions), secondaire (théorèmes),
tertiaire (exercices), structurelle (remarques, code en ligne). Le
thème par défaut est axiom.
| Famille | Thèmes |
|---|---|
| Quasi noirs | graphite, mineral. |
| Ardoise foncé |
athenee, axiom (défaut),
prestige, renaissance,
sequoia, studio.
|
| Marine |
dusk, excellence, library,
marine, midnight, neon,
nocturne, retro, rubis,
taiga, twilight.
|
| Bleus |
azure, ink, rhodium,
royal, slate, trinity,
velours.
|
| Sarcelle |
arctic, atoll, frost, lagoon,
mist, oceanic, tundra,
woodland.
|
| Verts |
eton, forest, garden,
hearth, ivy, jewel,
manor, moss, sage.
|
| Violets |
amethyst, mulberry, opera,
velvet, wisteria.
|
| Rouges / bordeaux |
aurora, bordeaux, crimson,
harvard, heritage,
mahogany, orchid, peony,
pomegranate, vivid.
|
| Bruns / ocres |
coffee, cyprus, olive,
saffron, sienna, study, terra.
|
| Option | Effet |
|---|---|
print |
Noir et blanc, optimisé pour l'impression. Désactive les fonds et cadres colorés. |
unicolor |
Utilise la couleur primaire pour tous les environnements. |
darktheme |
Thème sombre (fond foncé, texte clair). Adapte automatiquement les opacités. |
Pour modifier une couleur précise sans changer de thème, on peut utiliser les options suivantes :
| Option | Effet |
|---|---|
globalcolor=couleur |
Couleur primaire globale (défaut : noir). |
headcolor=couleur |
Couleur des titres de section. |
subcolor=couleur |
Couleur des sous-sections. |
subsubcolor=couleur |
Couleur des sous-sous-sections. |
titlecolor=couleur |
Couleur du titre du document. |
titlehexcolor=RRGGBB |
Couleur du titre en hexadécimal. |
headfootcolor=couleur |
Couleur de l'en-tête et du pied de page (défaut : gris neutre). |
La commande \documentcolor{couleur} permet de redéfinir
la couleur primaire en cours de document.
Les boîtes (théorèmes, exercices, code, admonitions) partagent un système d'options commun pour les cadres, les fonds, l'opacité, les arrondis et les formes. Chaque famille peut être configurée indépendamment ou globalement.
| Catégorie | Options (activer / désactiver) |
|---|---|
| Théorèmes |
thmframe / thmnoframe,
thmback / thmnoback.
|
| Exercices |
exframe / exnoframe,
exback / exnoback.
|
| Code |
codeframe / codenoframe,
codeback / codenoback.
|
| Toutes |
frame / noframe, back /
noback.
|
| Raccourcis |
clean (sans fond ni cadre), styled (avec
fond et cadres).
|
L'opacité du fond et du cadre se règle entre 0 et 100 :
| Fond | Cadre |
|---|---|
boxopacity (global), thmboxopacity,
exboxopacity, codeboxopacity,
adboxopacity, mathboxopacity.
|
frameopacity (global), thmframeopacity,
exframeopacity, codeframeopacity,
adframeopacity, neoframeopacity,
sideframeopacity.
|
border (global), thmborder,
exborder, codeborder, adborder.
boxarc=dim (global), thmboxarc,
exboxarc, codeboxarc, adboxarc,
neoboxarc, sideboxarc,
pseudoboxarc, sectionarc (titres de section). Le titre des théorèmes a son propre arrondi
: thmtitlearc.
L'option boxshape=forme s'applique globalement. Chaque
famille dispose aussi de sa propre option (thmboxshape,
exboxshape, codeboxshape,
adboxshape, neoboxshape,
sideboxshape). Le titre des théorèmes :
thmtitleshape.
Formes disponibles : sharp, rounded,
soft, sharpish, curve,
chamfer, bevel, chat,
leaf, north, south,
east, west, northeast,
northwest, southeast,
southwest, downhill, uphill.
padding=tight|normal|loose contrôle l'espace intérieur
des boîtes.
L'option titlelayout=nom définit l'apparence de la page
de titre. Plus de trente mises en page sont disponibles.
exam, shortexam, mockexam,
eval, evalicons, evalgrade,
evaliconsgrade, shorteval.
default, titlebox, tighttitle,
onlytitle, shorttitle,
shortlesson, minimal, frame.
band, banner, bar,
bauhaus, blocks, book,
bristol, brush, bubbles,
champagne, circles, cloud,
confetti, flow, geometric,
grid, magazine, memphis,
notion, simplenotion,
particles, spine, stream,
tech, wave.
| Option | Effet |
|---|---|
titledecor=style |
Décoration du titre : none (défaut), ornament, rule, midrule, fullrule. |
titlealign=alignement |
Alignement du titre : left, center (défaut) ou right. |
titlesize=taille |
Taille du titre (défaut : LargeLARGEminus). Valeurs : tinyscriptsize, scriptsizefootnotesize, footnotesizesmall, smallnormalsize, normalsizelarge, largeLarge, LargeLARGEminus, LargeLARGE, LargeLARGEplus, LARGEhuge, hugeHuge, ou une taille standard comme Large. |
abstracttitle=Titre |
Titre de l'environnement abstract. |
inlineabstract |
Place ce titre au début du texte, sur la même ligne. |
titlestyle, titleweight,
titleshape
|
Style, graisse et forme de la police du titre. |
La commande \neoheader{...} configure les informations
affichées dans le titre du document (utile avec les mises en page
d'évaluation ou d'examen).
\neoheader{
type = {Devoir surveillé},
school = {Lycée A. Camus},
level = {Terminale},
duration = {2h},
calculator = {exam},
leftcontent = {\faFlask},
rightcontent = {}
}
Clés disponibles : type, school,
academy, level, duration,
calculator (true/false/exam), leftcontent,
rightcontent, leftcontentfill,
rightcontentfill.
| Option | Effet |
|---|---|
headstyle=style |
Style de police des titres de section (défaut :
sffamily).
|
headweight=graisse |
Graisse (défaut : bfseries). |
headshape=forme |
Forme (défaut : upshape). |
headerules=style |
Filets d'en-tête et de pied : none (défaut), headrule, footrule, headfootrule. |
headfootstyle=style |
Police de l'en-tête et du pied de page (hérite de headstyle). |
sectionnumstyle=style |
Style du numéro de section (circle,
square, etc.).
|
sectiontextstyle=style |
Style du texte de section (sc, bf,
etc.).
|
sectionstyle=style |
Style général : normal, ornaments,
underline, highlighted,
shaded, shadedline.
|
sectionalign=alignement |
Alignement : left, center (défaut) ou right. |
Les environnements sont construits avec tcolorbox.
L'option thmstyle=style définit leur apparence globale.
tag (défaut), bar, block,
tile, fold, plain,
frame, curve, sticker,
pastel, raw.
theorem, lemma, corollary,
conjecture, proposition,
property, properties,
definition, definitions,
method, activity, application,
example, examples, remark,
remarks, proof.
\begin{definition}[title=Nombre premier, label=def:prem]
Un entier est premier s'il a exactement deux diviseurs.
\end{definition}
\begin{theorem}[title=Petit théorème de Fermat]
Si $p$ est premier et $a \not\equiv 0 \pmod{p}$,
alors $a^{p-1} \equiv 1 \pmod{p}$.
\end{theorem}
| Option | Effet |
|---|---|
sectionthmcounter |
Compteur réinitialisé à chaque section (ex : Théorème 2.1). |
sharedthmcounter |
Compteur partagé entre tous les types d'environnement. |
thmgroupcounter |
Compteur groupé par famille d'environnement. |
thmterminator (défaut : .\!) : caractère
après le numéro. thmseparator : séparateur entre le
numéro et le titre.
Le système d'exercices est construit sur l'extension
xsim. L'option exstyle=style définit
l'apparence.
| Catégorie | Styles |
|---|---|
| En boîte |
capsule (défaut), capsule-outline,
block, bar, tile,
fold, plain, frame,
curve, sticker, pastel,
card.
|
| Avec badge |
badge, badge-outline,
digit, digit-outline,
digit-inline, digit-outline-inline,
counter, counter-outline,
counter-inline, counter-outline-inline.
|
| Linéaires |
line, line-outline,
line-circle, line-circle-outline.
|
| Spéciaux |
inline, shell, section,
subsection, item, rule,
separator, raw.
|
\begin{exercise}[points=3, subtitle={Dérivation}]
Dériver $f(x) = x^2$.
\end{exercise}
\begin{solution}
$f'(x) = 2x$.
\end{solution}
\exercisenumber{id} renvoie au numéro de l'exercice
déclaré avec la propriété ID=id.
\begin{choices}(2)
\choice[\correct] Vrai
\choice Faux
\end{choices}
L'environnement checkboxes et la commande
\checkbox donnent des cases carrées ;
\checkbox[\correct*] marque une bonne réponse.
| Option | Effet |
|---|---|
answers |
Affiche les solutions après chaque exercice. |
answersonly |
N'affiche que les solutions. |
solrotate |
Imprime la solution retournée (rotation 180°). |
shuffle |
Mélange l'ordre des exercices. |
exerciseicons |
Affiche une icône devant le titre de chaque exercice (livre par défaut). La propriété icon la change, par nom ou par commande : icon=laptop ou icon=\faLaptop. |
sharedexcounter |
Compteur d'exercices partagé entre les sections. |
solstyle=style |
Style des solutions : inline (défaut),
dots, lines, box.
|
exterminator (défaut : .) : caractère placé
après le numéro de l'exercice.
La coloration syntaxique repose sur listings par défaut,
ou sur minted si l'option de classe
minted est activée.
codestyle=style : shadow (défaut),
plain, line, lines,
bar, frame.
| Environnement | Usage |
|---|---|
code{langage}[titre] |
Bloc de code avec numéros de ligne. |
codenonum{langage}[titre] |
Bloc de code sans numéros de ligne. |
\codeinput{langage}{fichier} |
Inclusion d'un fichier externe avec numéros. |
\codeinputnonum{langage}{fichier} |
Inclusion d'un fichier externe sans numéros. |
\codeinline[langage]{code} |
Code en ligne avec coloration. |
\begin{code}{python}[Factorielle]
def fact(n):
return 1 if n <= 1 else n * fact(n - 1)
\end{code}
| Option | Effet |
|---|---|
codewidth=facteur |
Largeur du bloc de code (défaut : 1, soit 100 %). |
centeredcode |
Centre le bloc horizontalement. |
codenum / codenonum |
Active ou désactive la numérotation des lignes. |
inlinecodebox |
Affiche le code en ligne (\texttt) dans une boîte
encadrée et colorée.
|
tthyphenation |
Rétablit la césure habituelle dans \texttt (par défaut, le code en ligne ne se coupe qu'après un tiret bas, une barre oblique ou une parenthèse ouvrante). |
codeseparator=texte |
Séparateur entre le numéro d'un listing et son titre. |
boxtitle=texte |
Titre par défaut des boîtes génériques. |
L'environnement pseudocode est basé sur
algpseudocode. Les mots-clés sont automatiquement
traduits dans la langue choisie.
Les admonitions sont des encarts visuels pour attirer l'attention. Dix types sont prédéfinis, chacun avec son icône et sa couleur.
| Environnement | Usage |
|---|---|
note |
Note générale. |
info |
Information complémentaire. |
warning |
Avertissement. |
important |
Point important. |
tip |
Astuce. |
reminder |
Rappel. |
summary |
Résumé. |
toolbox |
Boîte à outils. |
method |
Méthode. |
activity |
Activité. |
adstyle=style : soft (défaut),
modern, material, classic,
professional, minimal.
inlineadmonition (défaut : true) pour un rendu en ligne,
ou blockadmonition pour un rendu en bloc. Les séparateurs
adterminator (défaut : .) et
adseparator (défaut : ~:~) personnalisent la
ponctuation du titre.
| Commande / environnement | Usage |
|---|---|
\splitcontent[ratio]{gauche}{droite} |
Divise le contenu en deux colonnes. Le ratio (défaut : 0.5) définit la proportion de la colonne de gauche. |
sidebyside |
Deux boîtes côte à côte, séparées par
\tcblower.
|
| Commande | Usage |
|---|---|
\textwithimage{position}{largeur}{image}{légende}{texte}
|
Place une image à côté du texte. |
\withqrcode{url}{texte} |
Ajoute un QR code en marge. |
\neobox{contenu} (boîte simple),
\neocolorbox{contenu} (boîte colorée),
\inlinebox{contenu} (boîte en ligne).
\positionobject{x}{y}{largeur}{contenu} place un élément
en position absolue sur la page via TikZ.
| Commande | Usage |
|---|---|
\grid[couleur]{largeur}{hauteur} |
Grille standard (pas de 5 mm). |
\customgrid[couleur][h][v]{largeur}{hauteur} |
Grille personnalisée (pas horizontal et vertical). |
\frenchgrid[*][c1][c2]{largeur}{hauteur} |
Papier Seyès. La variante étoilée produit un rendu en niveaux de gris. |
\gridfill[*][couleur][h][v] |
Remplit la page restante avec une grille. |
\notebook |
Fond de page type cahier. |
\nbminorgrid |
Fond de page à petits carreaux. |
\nbmajorgrid |
Fond de page à grands carreaux, avec marge. |
| Commande | Usage |
|---|---|
\gradingstrip[total] |
Bandeau de notation (défaut : 20 points). |
\mrk{points} |
Indicateur de points dans la marge. |
totalpoints=N |
Option pour fixer le total de points (défaut : 20). |
| Commande | Usage |
|---|---|
\answerfield[largeur]{lignes} |
Zone de réponse colorée. |
\answerframe{lignes} |
Zone de réponse encadrée. |
\vardots[longueur] |
Ligne de pointillés pour réponse libre. |
\lines[car][interligne]{n} |
Dessine n lignes à remplir (pointillés par défaut). |
\emptybox[options]{largeur}{hauteur} |
Cadre vide pour réponse. |
fillable |
Option qui rend ces zones remplissables à l'écran (champs de
formulaire PDF) ; \unchecked devient une case à
cocher.
|
\competencies{Compétence 1 \\ Compétence 2} génère un
tableau de compétences à évaluer.
\cmark (✓), \xmark (✗),
\unchecked, \done, \wontfix,
\neocheckbox (case vide), \neochecksol (case
cochée), \neocheckcirc (cercle vide),
\neocheckdisk (cercle plein).
| Commande | Usage |
|---|---|
\mhl[couleur]{expression} |
Surlignage coloré en mode mathématique. |
\mathbox{expression} |
Encadrement d'une expression. |
\mc[couleur]{texte} |
Texte mathématique coloré. |
\circled{texte} |
Texte entouré d'un cercle. |
Avec l'option apmep (ou par défaut) :
\Oij (repère 2D), \Oijk (repère 3D),
\Ouv (repère vectoriel), \vectt.
mathgrid : grille pour le travail mathématique, avec
\neoline (nouvelle ligne) et
\neocol{contenu} (colonne). neotree : arbres
(basé sur forest). \neograph{graphe} :
graphes (lualatex requis).
| Commande | Usage |
|---|---|
\tdnote{texte} |
Note marginale. |
\boxnote{texte} |
Note encadrée. |
\tdmark[label] |
Repère de note. |
\To (→), \Gets (←),
\barre (barre décorative), \euro (€).
\AILogo[echelle] : logo « réalisé avec l'IA ».
\NoAILogo[echelle] : logo « sans IA ».