neoschool Class (v1.3.0)
Class file: neoschool.cls
PDF documentation:
neoschool.pdf (source:
neoschool-en.tex)
The neoschool class provides secondary school teachers with
a comprehensive set of tools for creating educational documents
(assessments, lecture notes, exercise sheets with answer keys, etc.). To
meet various needs, it offers about forty color themes,
eight preconfigured profiles, a variety of class
options for layout and typography, specialized environments, dedicated
commands, and multiple preformatted header styles for each document
type. It integrates several dozen commonly used LaTeX packages,
significantly reducing preamble overhead and avoiding compatibility
issues wherever possible. Multilingual, it supports English, French, and
German.
The profile=name option automatically
configures a coherent set of options for different document types.
Each profile defines a theme, an accent style, box styles, and visual
parameters suited to a specific use case.
midnight, accent gradient, theorem
style tile, exercise style capsule.
sage, accent flat, theorem style
sticker, exercise style card.
oceanic, accent duotone, theorem
style block, exercise style shell.
charcoal, accent minimal, theorem style
plain, exercise style line.
amethyst, accent rainbow, theorem
style bubble, exercise style badge.
klein, accent strong, theorem style
frame, exercise style digit-outline.
burgundy, accent flat, theorem style
fold, exercise style counter.
heritage, accent print, theorem
style frame, exercise style
counter-outline.
% Using a profile
\documentclass[profile=course]{neoschool}
% Customizing a profile
\documentclass[profile=exam, theme=midnight]{neoschool}
The following packages are automatically loaded by the
neoschool class:
adforn, adjustbox,
algpseudocode, amsmath, babel,
bookmark, calc, changepage,
colortbl, environ,
fontawesome5, forest, iftex,
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, todonotes, ulem,
wrapfig, xcolor, xhfill,
xkeyval, xsim, xstring.
Compilation with pdflatex loads the
fontenc (T1), inputenc (utf8),
newpxtext, and newpxmath packages.
Compilation with lualatex makes fontspec,
luacas, lua-ul, and
luacolor available, and applies the
TeX Gyre Pagella and TeX Gyre Heros fonts in
addition to newpxmath.
blindtext and
lipsum.
mathastext.annotate-equations,
bm, cancel, esvect,
mathrsfs, ncccomma, numprint,
tdsfrmath (with suite and
taupe options), tkz-euclide,
witharrows, and xlop.
esvect,
fourier-orns, numprint,
pstricks and its ecosystem, tabularx,
textcomp, tkz-tab, and
variations.
asymptote and
latexalpha2 for symbolic computation via Mathics.
The theme=name option sets the
document's color palette. About forty themes are available, organized
by category:
azure,
klein, midnight (default),
oceanic, oxford, slate,
twilight.
forest,
moss, sage.
burgundy,
crimson, rosewood, terra.
amethyst,
plum.
charcoal,
coffee, heritage, oxblood,
oxbridge, sepia.
arctic,
nordic, woodland.
cyprus,
frost, hop, kassio,
operandi, operandi-cool,
operandi-warm, quiet.
dracula,
gruvbox, mocha, night,
nord, tokyonight, vivendi.
The accent=style option defines how
theme colors are applied:
The colorprofile=profile option defines
how colors are distributed among environment types:
color: main text color
(default: black).
color: main title color.
RRGGBB: title color in
hexadecimal.
color: color of
\section headings.
color: color of
\subsection headings.
color: color of
\subsubsection headings.
color: color of headers
and footers.
Frames and backgrounds:
Background opacity (0-100):
boxopacity (global, default: 0),
thmboxopacity, exboxopacity,
codeboxopacity (default: 7),
mathboxopacity (default: 15).
Corner rounding: boxarc,
thmboxarc, exboxarc,
codeboxarc, sideboxarc,
pseudoboxarc (default: 0pt).
Box shapes (boxshape):
New
The boxshape=shape option defines the
global corner shape. Specific options: thmboxshape,
exboxshape, codeboxshape,
neoboxshape, sideboxshape.
sharp (default), sharpish,
curve, bevel.
northeast, northwest,
southeast, southwest: rounded on a single
corner.
north, south, east,
west: rounded on one side.
downhill, uphill: diagonally rounded
corners.
Title terminators:
thmterminator (default: .\!),
thmseparator, adterminator (default:
.\!), exterminator (default:
.), boxtitle.
lualatex/xelatex.
\texttt) in a framed, colored box.
mainfaceoptions).
mathfacescale).
none, ornament, rule,
midrule, fullrule).
circle, box, dash,
plain).
sc,
upper, lower).
normal,
ornaments, underline,
highlighted, shadedline).
center).
titlestyle.
dim: horizontal margin width
(default: 1.5cm).
dim: paragraph indentation size
(default: 1em).
factor: vertical
stretch/shrink factor (default: 1.0, values between
0.25 and 2.0).
dim: alternating margin notes with specified width.dim: left margin notes with specified width.dim: right margin notes with specified width.\neoheader).
style: rules (default:
none). Values: none,
headrule, footrule,
headfootrule.
globalcolor).
For multiple printing: 2a5toa4, 2a4toa3, 4a5toa3, 2toa3, bookleta5, bookleta4.
Title: title of the
abstract environment (default: DEFAULT).
n: total points for
grading (default: 20).
titlelayout)
Updated
exam, shortexam,
mockexam.
eval,
evalicons, evalgrade,
evaliconsgrade, shorteval.
bubbles,
particles, confetti,
geometric, circles, wave,
stream, flow, brush,
cloud, champagne, banner,
band, bauhaus, memphis,
tech, magazine, notion,
simplenotion, bristol, grid,
spine, bar, blocks, book.
default,
titlebox, tighttitle,
onlytitle, shorttitle,
shortlesson, minimal, frame.
\neoheader)
Configures information for exam, eval,
mockexam, shortlesson styles and the
fullheader option.
\neoheader{
type = {Pop Quiz},
school = {Jefferson Middle School},
academy = {Springfield},
level = {8th Grade},
duration = {20 minutes},
calculator = {false}, % true / false / exam
leftcontent = {\faFlask},
rightcontent = {\faCalculator},
leftcontentfill = {true},
rightcontentfill = {true}
}
Based on tcolorbox.
thmstyle)
Updated
Values: bar (default), block,
tile, fold, plain,
frame, curve, sticker,
pastel, tag, raw.
theorem (ref.: thm),
lemma (ref.: lem),
corollary (ref.: cor),
conjecture (ref.: conj),
proposition (ref.: propo),
property (ref.: prop),
properties (ref.: prop),
definition (ref.: def),
definitions (ref.: def),
method (ref.: meth),
activity (ref.: act),
application (ref.: appl),
remark/remarks (unnumbered),
example/examples (ref.: ex),
proof.
title=text, label=name,
colback=color, colframe=color,
coltitle=color, fonttitle=commands.
Based on the xsim package.
exercise and solution Environments
Options: points, bonus-points,
level (1-5, displayed as stars), subtitle,
icon (requires exerciseicons),
topic, grade, subject,
ID, template.
Global options: exerciseicons, answers,
answersonly, shuffle, blocksol.
exstyle)
Updated
Box styles: block, bar,
tile, fold, plain,
frame, curve, sticker,
pastel, card.
Badge styles: badge,
badge-outline, digit,
digit-outline, counter,
counter-outline.
Special styles: inline,
capsule (default), shell, line,
section, hrule.
\choice for an answer,
\choice[\correct] for the correct answer.
\checkbox for an answer,
\checkbox[\correct*] for a correct answer.
Class options: listings (default) or
minted (requires Python, Pygments, and
--shell-escape).
code Environment\begin[options]{code}{language}[title][box-style] ... \end{code}
options: listings/minted
options. language: python,
latex, c++, etc.
Commands: \codeinline[lang]{code},
\codeinput[opt]{lang}{file}[title][style].
codestyle)
Updated
Values: lines (default), plain,
bar, frame, shadow.
Options: codewidth=factor (default: 1.0), centeredcode.
pseudocode Environment
Based on algpseudocode. Special commands:
\Gets (assignment arrow โ), \To ("to"
keyword for loops).
Colored boxes with icons to draw attention.
Environments: note (โ), info (โ),
warning (โ ), important (!),
tip (๐ก), reminder (๐),
summary (๐), toolbox (๐ง),
method (โ) New,
activity (๐งฉ) New.
Admonition styles (adstyle):
modern (default), material,
soft, classic, professional,
minimal.
Options: title=text,
subtitle=text, icon=\faIcon,
style=name (overrides global style).
\positionobject{x}{y}{scale}{content}: places content at
coordinates (x, y) from the top-left corner.
\splitcontent[w1][gap]{col1}{col2}: divides horizontal
space.
sidebyside Environment
Creates two tcolorbox boxes side by side separated by
\tcblower. Options: title,
righthand width.
\textwithimage[*]{w_img}{s_img}{text}{path}: combines
text and image. * places the image on the left.
\withqrcode[*][size]{url}{content}: QR code next to
content. * places the QR code on the right.
\grid[color]{width}{height}: 5mm ร 5mm grid.\customgrid[color][dx][dy]{width}{height}: custom grid.
\frenchgrid[col_p][col_g]{width}{height}: Seyรจs (French
ruled) grid.
\gridfill / \gridfill*: fills the page
with a grid.
\notebook, \nbminorgrid,
\nbmajorgrid: page background styles.
neobox: box with frame.neobox*: box without visible frame.\neocolorbox[color]{content}: simple colored box.
\inlinebox[frame][background][text]{content}:
customizable inline box.
\AILogo[options]: AI logo (chip with neural network).
\NoAILogo[options]: "No AI" logo (crossed-out chip).
\documentcolor{color}: changes text color for the entire
document.
\gradingstrip[total]: strip for grade and comments.
\mrk[*][comm]{pts}: points in the margin.\answerfield[width]{lines}: area with colored
background.
\answerframe[width]{lines}: framed area.\vardots[length]: dotted line.\lines[char][spacing]{n}: draws n horizontal
lines.
\emptybox{width}{height}: empty box for free response.
Symbols: \cmark (โ green), \xmark (โ red),
\unchecked (โ), \done (โ),
\wontfix (โ).
\competencies{Comp1 \\ Comp2 \\ ...}: 4-level assessment
table.
\mhl[color]{expr}: highlights the expression.\mc[color]{expr}: colors the expression.\mathbox<background>[border]{content}: frames
mathematical content.
Commands available with the apmep option:
\vectt{AB} (vectors), \Oij,
\Oijk, \Ouv (reference frames),
\euro, \cg, \cd,
\pg, \pp, \barre{x} (symbols).
forest). The w=val option adds a weight to
a branch.
\neograph: command for graphs (lualatex
required).
mathgrid)Environment for aligning equation blocks in a grid.
\begin{mathgrid}{n}: grid with n columns.
\neoline: new line.\neocol[span]{content}: column with
align*.
Enabled by noteswidth=dim.
\tdnote[options]{text}: note in the margin.\boxnote[label]{text} + \tdmark[label]:
note anchored to a specific location.