The neoschool class

Version 1.3.0 • Author: Razik Ikhlef

https://apps.edulatex.xyz

Files and demos

Download the source files and compiled examples:

neoschool.cls PDF documentation Doc source (EN)
Layout examples:
Demo 1 (Lesson)
Demo 2 (Exam)
Demo 3 (Worksheet)
Demo 4 (Code)
Demo 5 (Design)
The neoschool class gives K–12 teachers a comprehensive toolkit for creating their classroom materials—tests, lesson handouts, exercise sheets with answer keys, and more. To suit a wide range of needs it ships with fifty-six color themes, sixteen preconfigured profiles, flexible class options for layout and typography, specialized environments, dedicated commands, and a variety of ready-made title layouts. It also bundles dozens of commonly used LaTeX packages so your preamble stays clean.

Preconfigured profiles

The profile=<name> option automatically configures a coherent set of options. Each profile sets a theme, a title layout (titlelayout), box styles, and visual parameters.

academic Lectures and course notes. Theme royal, title layout band, thmstyle block, exstyle bar, boxshape soft.
minimalist Clean and understated. Theme ink, title layout stream, thmstyle plain, exstyle line-outline, boxshape sharp.
material Material Design inspired. Theme azure, title layout notion, thmstyle tile, exstyle capsule, boxshape rounded.
coder CS-oriented documents. Theme marine, title layout blocks, thmstyle bar, exstyle shell, boxshape chamfer.
memo Reference sheets. Theme lagoon, title layout bristol, thmstyle sticker, exstyle sticker, boxshape chat.
exam Tests and quizzes. Title layout eval, thmstyle plain, exstyle inline, boxshape sharp. Enables print mode.
organic Soft, natural shapes. Theme forest, title layout flow, thmstyle curve, exstyle capsule, boxshape leaf.
origami Geometric, folded look. Theme crimson, title layout geometric, thmstyle fold, exstyle rule, boxshape bevel.
blueprint Technical blueprint feel. Theme azure, title layout grid, thmstyle frame, exstyle counter-inline, boxshape sharp.
swiss Swiss design. Theme cardinal, title layout brush, thmstyle bar, exstyle capsule-outline, boxshape southeast.
creative Playful and colorful. Theme neon, title layout memphis, thmstyle pastel, exstyle badge, boxshape sharpish.
focus Clean with a side accent. Theme rhodium, title layout spine, thmstyle tag, exstyle separator, boxshape west.
elegant Refined and polished. Theme velours, title layout minimal, thmstyle bar, exstyle line-circle, boxshape sharp.
slate Side-band layout. Theme slate, title layout spine, thmstyle block, exstyle bar, boxshape sharp.
maker DIY project sheets. Theme frost, title layout tech, thmstyle sticker, exstyle rule, boxshape sharp.
zen Calm and soothing. Theme moss, title layout wave, thmstyle block, exstyle block, boxshape sharpish. Enables unicolor mode.
\documentclass[profile=academic]{neoschool}

Loaded packages

The class automatically loads: adforn, adjustbox, algpseudocode, bookmark, calc, changepage, colortbl, cuted, enumitem, environ, etoolbox, fontawesome5, forest, iftex, kvoptions, lastpage, marginnote, mathtools, 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.

Optional packages

Option Description
apmep Loads packages for French math-competition archives (esvect, pstricks, tkz-tab, variations, etc.).
faketext Loads blindtext and lipsum.
math Loads annotate-equations, bm, cancel, esvect, mathrsfs, ncccomma, numprint, tdsfrmath, tkz-euclide, witharrows, xlop.
mathastext Uses the text font for math mode.
notes Loads todonotes. (Variants: leftnotes, rightnotes.)
mathics Loads asymptote and latexalpha2.

Configuration options

Language

Typography (LuaLaTeX/XeLaTeX)

Page layout

Overall appearance

Color themes (theme=...)

56 themes are available. Each theme defines four colors: a primary color (headings, sections, definitions), a secondary color (theorems), a tertiary color (exercises), and a structural color (neutral elements such as remarks and inline code). The default theme is oxford.

Color modes

Box appearance

Option Description
Frames thmframe/thmnoframe, exframe/exnoframe, codeframe/codenoframe.
Backgrounds thmnoback/thmback, exnoback/exback, codenoback/codeback.
Opacity boxopacity=N (0–100), thmboxopacity, exboxopacity...
Corner radius boxarc=dim (e.g. 3pt), thmboxarc, exboxarc...
Shapes boxshape=... (rounded, soft, sharp, sharpish, curve, bevel, chamfer, chat, leaf, northeast, northwest, southeast, southwest, north, south, east, west, downhill, uphill).
Theorem title thmtitleshape=shape (inherits from thmboxshape), thmtitlearc=dim (inherits from thmboxarc).
Padding padding=... (tight, loose, normal).

Document styles

Title layout (titlelayout)

Header configuration

\neoheader{
  type = {Unit Test},
  school = {Springfield High School},
  level = {AP Calculus BC},
  duration = {2h},
  calculator = {exam}, % true/false/exam
  leftcontent = {\faFlask}
}

Math environments

Styles (thmstyle): tag (default), bar, block, tile, fold, plain, frame, curve, sticker, pastel, raw.

Environments: theorem, lemma, corollary, conjecture, proposition, property, properties, definition, definitions, method, activity, application, example, examples, remark, remarks, proof.

\begin{definition}[title=Prime number, label=def:prime]
  An integer is prime if it has exactly two divisors.
\end{definition}

Numbering options: sectionthmcounter, sharedthmcounter, thmgroupcounter.

Exercises and solutions

Built on the xsim package.

Exercise styles (exstyle)

Boxed: capsule (default), block, bar, tile, fold, plain, frame, curve, sticker, pastel, card, capsule-outline.

Badge: badge, badge-outline, digit, digit-outline, digit-inline, digit-outline-inline, counter, counter-outline, counter-inline, counter-outline-inline.

Linear: line, line-outline, line-circle, line-circle-outline.

Special: inline, shell, section, subsection, item, rule, separator.

Global options

Example

\begin{exercise}[points=3, subtitle={Derivatives}]
  Find the derivative of $f(x)=x^2$.
\end{exercise}
\begin{solution}
  $f'(x)=2x$.
\end{solution}

Multiple choice

\begin{choices}(2) % 2 columns
  \choice[\correct] True
  \choice False
\end{choices}

Code listings

Uses listings (default) or minted (class option minted).

Options

\begin{code}{python}[Factorial]
def fact(n):
    return 1 if n<=1 else n*fact(n-1)
\end{code}

Pseudocode

The pseudocode environment (based on algpseudocode) with automatic keyword translation.

Admonitions

Callout boxes. Environments: note, info, warning, important, tip, reminder, summary, toolbox, method, activity.

Styles (adstyle): soft (default), modern, material, classic, professional, minimal.

Content layout

Layout tools

Grids and paper

Simple boxes

Grading and assessment

Special tools