The neoschool class gives K–12 teachers a
comprehensive toolkit for creating classroom materials: tests, lesson
handouts, exercise sheets with answer keys, and more. It ships with
fifty-eight color themes, sixteen preconfigured profiles, over thirty
title layouts, specialized environments for theorems, exercises, code
and admonitions, and bundles dozens of commonly used LaTeX packages.
Quick start
The easiest way to get started is to pick a profile, which
automatically sets the theme, title layout, box styles and shapes:
The class automatically loads dozens of packages, so additional
\usepackage calls are rarely needed.
Preconfigured profiles
The profile=<name> option configures the theme,
title layout, box styles (theorems, exercises, admonitions, code),
corner shapes and opacity levels all at once. Sixteen profiles are
available.
academic
Lectures and course notes. Theme royal, title
band, thmstyle block, exstyle
bar, adstyle modern, codestyle
plain, boxshape soft.
minimalist
Clean and understated. Theme ink, title
stream, thmstyle plain, exstyle
line-outline, adstyle classic, codestyle
lines, boxshape sharp.
material
Material Design inspired. Theme azure, title
notion, thmstyle tile, exstyle
capsule, adstyle material, codestyle
shadow, boxshape rounded.
coder
CS-oriented documents. Theme marine, title
blocks, thmstyle bar, exstyle
shell, adstyle professional, codestyle
frame, boxshape chamfer.
Packages for French math-competition archives:
esvect, pstricks and friends,
tkz-tab, variations, etc.
mathastext
Uses the text font for math mode.
faketext
blindtext and lipsum.
notes
todonotes. Variants: leftnotes,
rightnotes.
mathics
asymptote and latexalpha2.
Language
Three languages are supported. The chosen language automatically
translates environment labels (theorem, exercise, proof, etc.) and
sets typographic conventions via babel.
Option
Effect
english
English (default).
french
French (babel-french conventions).
german
German.
nofrenchlist
Disables em-dashes for French lists.
frenchlistaspar
Treats list items as paragraphs.
Fonts
With LuaLaTeX or XeLaTeX, system fonts can be used. Each family can be
configured independently with its own scale factor.
Each font also accepts additional options via
mainfaceoptions, sansfaceoptions,
monofaceoptions and mathfaceoptions.
Page layout
Margins and spacing
Option
Effect
margin=dim
Side margins (default: 1.5cm).
vspacing=factor
Global vertical spacing multiplier (0.25 to 2.0, default: 1.0).
indent=dim
Paragraph indentation (default: 1em).
Table of contents
Option
Effect
compacttoc
Compact table of contents.
twocoltoc
Two-column table of contents.
monotoc
Primary-color-only table of contents.
Headers and footers
Option
Effect
fullheader
Enables the full running header.
nofooter
Removes the footer.
pageonlyfooter
Shows only page numbers in the footer.
Imposition and booklets
Options for printing multiple pages per sheet or producing booklets:
2a5toa4, 2a4toa3, 4a5toa3,
2toa3, bookleta5, bookleta4.
Color themes
The theme=name option selects from fifty-eight available
themes. Each theme defines four colors: primary (headings, sections,
definitions), secondary (theorems), tertiary (exercises), structural
(remarks, inline code). The default is axiom.
Black and white, optimized for printing. Disables colored
backgrounds and frames.
unicolor
Uses the primary color for all environments.
darktheme
Dark theme (dark background, light text). Automatically adjusts
opacity levels.
Color customization
To override specific colors without changing theme:
Option
Effect
globalcolor=color
Global primary color (default: black).
headcolor=color
Section heading color.
subcolor=color
Subsection color.
subsubcolor=color
Subsubsection color.
titlecolor=color
Document title color.
The \documentcolor{color} command redefines the primary
color mid-document.
Box appearance
Boxes (theorems, exercises, code, admonitions) share a common option
system for frames, backgrounds, opacity, corner radius and shapes.
Each family can be configured independently or globally.
Frames and backgrounds
Category
Options (enable / disable)
Theorems
thmframe / thmnoframe,
thmback / thmnoback.
Exercises
exframe / exnoframe,
exback / exnoback.
Code
codeframe / codenoframe,
codeback / codenoback.
All
frame / noframe, back /
noback.
Shortcuts
clean (no backgrounds or frames),
styled (with backgrounds and frames).
Opacity
Background and frame opacity are set between 0 and 100:
boxarc=dim (global), thmboxarc,
exboxarc, codeboxarc, adboxarc,
neoboxarc, sideboxarc,
pseudoboxarc. Theorem titles have their own radius:
thmtitlearc.
Corner shapes
The boxshape=shape option applies globally. Each family
also has its own option (thmboxshape,
exboxshape, codeboxshape,
adboxshape, neoboxshape,
sideboxshape). Theorem titles:
thmtitleshape.
\begin{definition}[title=Prime number, label=def:prime]
An integer is prime if it has exactly two divisors.
\end{definition}
\begin{theorem}[title=Fermat's little theorem]
If $p$ is prime and $a \not\equiv 0 \pmod{p}$,
then $a^{p-1} \equiv 1 \pmod{p}$.
\end{theorem}
Numbering options
Option
Effect
sectionthmcounter
Counter reset at each section (e.g. Theorem 2.1).
sharedthmcounter
Shared counter across all environment types.
thmgroupcounter
Counter grouped by environment family.
Separators
thmterminator (default: .\!): character
after the number. thmseparator: separator between number
and title.
Exercises and solutions
The exercise system is built on the xsim package. The
exstyle=style option sets the appearance.
inlineadmonition (default: true) for inline rendering, or
blockadmonition for block rendering. The separators
adterminator (default: .) and
adseparator (default: ~:~) customize title
punctuation.
Content layout
Columns
Command / environment
Usage
\splitcontent[ratio]{left}{right}
Splits content into two columns. The ratio (default: 0.5) sets the
left column proportion.