neoschool Class
Class file: neoschool.cls
PDF documentation:
neoschool.pdf (source:
neoschool.tex)
The neoschool class provides secondary school teachers with a
set of tools for creating educational materials (assessments, course
notes, exercise sheets with solutions, and more). To meet various needs,
it offers thirty-six predefined color themes, a range of class options for
layout and typography, specialized environments, dedicated commands, and
preformatted header styles for different document types. It incorporates
dozens of commonly used LaTeX packages (see the list below), which
significantly lightens the preamble and minimizes compatibility issues.
Multilingual support includes French, English, and German.
The following packages are automatically loaded by the
neoschool class.
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.
Compiling with pdflatex loads the packages
fontenc (with the T1 option),
inputenc (with the utf8 option),
newpxtext, and newpxmath. Compiling with
lualatex makes available the packages fontspec,
luacas, lua-ul, luacolor and
applies the fonts TeX Gyre Pagella and
TeX Gyre Heros in addition to newpxmath.
The graphics option loads the packages
graphicx and wrapfig. The
faketext option (formerly draft) loads the
packages blindtext and lipsum. The
mathastext option loads the
mathastext package.
The math option loads the packages
annotate-equations, bm, breqn,
cancel, mathrsfs, ncccomma,
numprint, tdsfrmath (with the options
suite and taupe), tkz-euclide,
witharrows, and xlop.
The notes=length option enables framed notes
(todonotes) in the left and right margins, alternating, and
sets their width. It loads the todonotes package.
The apmep option, which allows direct compilation of exam
archives from the association of the same name, defines a set of
mathematical commands and loads the packages esvect,
fourier-orns, numprint (with the
np option), pstricks (and many packages from the
pstricks ecosystem), tabularx,
textcomp, tkz-tab, and enumitem.
The mathics option enables symbolic computation via
mathics (an open-source alternative to
mathematica) and loads the packages
asymptote and latexalpha2.
english, french, german: activates translations and conventions for each language. These options affect theorem and environment headings, typography, and mathematical conventions.
nofrenchlist: disables French list styling (replaces dashes with periods).
frenchlistaspar: treats lists as paragraphs in French (adds final punctuation and initial capital).
frenchmath: applies French mathematical conventions (upright capitals and Greek letters in math mode).
The theme = theme-name option sets the
document's color theme. Available themes include:
classic (default), 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, and
midnight (dark theme).
\documentclass[theme=retrocafe]{neoschool}
These options adjust how the theme's colors are applied.
unicolor: uses a single color (based on the title color) for all environments, with variations through transparency.
examcolor: Sets the colors for practical environments
(exercises, activities) and admonitions (info, warning) to the primary
theoretical color (definitionColor). This creates a more
subdued, two-tone palette suitable for exams.
print: converts all colors to black and white for printing.
Allows overriding the selected theme's colors.
globalcolor = color: main text color.
titlecolor = color or
titlehexcolor = hex code: main title
color.
headcolor = color: section headings
color (\section).
subcolor = color: subsection headings
color (\subsection).
subsubcolor = color: subsubsection
headings color (\subsubsection).
headfootcolor = color: header and footer
text color.
nothmframe: removes frames around environments (theorems, exercises...).
nothmback: removes colored backgrounds from environments.
nocodeframe: removes frames around code blocks.
nocodeback: removes colored backgrounds from code blocks.
nocodenum: removes line numbering from code blocks.
noadframe: (Default) removes frames around admonition boxes.
noadback: (Default) removes colored backgrounds from admonition boxes.
adframe: Enables frames for admonition boxes.
adback: Enables colored backgrounds for admonition boxes.
scale: harmonizes font sizes when compiling with
lualatex or xelatex.
inlinecodebox: displays inline code
(\texttt) in a framed and colored box.
These options (in the form option=length) customize the
corner radius for various environment types.
length: rounding for
neobox and answerframe (default:
1mm).
length: rounding for code
boxes (default: 1mm).
length: rounding for
admonitions (default: 2pt).
length: rounding for
sidebyside (default: 1pt).
length: rounding for theorems
(default: 1mm).
length: rounding for exercises
(default: 1mm).
length: rounding for
pseudocode (default: 1mm).
The abstracttitle option changes the title of the
abstract environment.
\documentclass[abstracttitle=Summary]{neoschool}
sfbody: uses sans-serif font for the body text.
sfall: uses sans-serif font throughout the document (headings, text, etc.).
boldlistlabels: bolds list labels (e.g., 1., a.).
mathastext: uses the current text font for mathematics.
mainface = FontName: sets the main
(serif) font.
mainfaceoptions = options: options for
the main font (e.g., Scale=MatchLowercase).
sansface = FontName: sets the sans-serif
font.
sansfaceoptions = options: options for
the sans-serif font.
monoface = FontName: sets the monospace
font (for code).
monofaceoptions = options: options for
the monospace font.
mathface = MathFontName: sets the math
font.
mathfaceoptions = options: options for
the math font (pdflatex only).
mathfacescale
=
factor: sets a scaling factor for the math font (useful
with
lualatex
or
xelatex).
facefamily = FamilyName: sets a complete
font family (e.g., fira).
facefamilyoptions = options: options for
the font family.
% Example with Fira Sans
\documentclass[
facefamily=Fira Sans,
facefamilyoptions={%
sfdefault,
lining
},
monoface=Fira Mono,
monofaceoptions={Scale=0.85}
]{neoschool}
margin = length: sets the width of
horizontal margins (default: 1cm). Vertical margins are
adjusted automatically.
notes = length: enables margin notes
(todonotes) and sets their width.
leftnotes[=length]: enables margin notes
(todonotes) only in the left margin and sets their width.
rightnotes[=length]: enables margin notes
(todonotes) only in the right margin and sets their
width.
noindent: removes paragraph indentation.
indent = length: sets the indentation
size (default: 1em).
vspacing = factor: sets a
compression/expansion factor for vertical spacing (paragraphs, lists,
headings). Default: 1.0. Values < 1 compress, > 1 expand.
These options allow printing multiple logical pages on a single physical sheet.
2a5toa4: prints 2 identical A5 pages on an A4 landscape sheet.
2a4toa3: prints 2 identical A4 pages on an A3 landscape sheet.
4a5toa3: prints 4 identical A5 pages on an A3 sheet.
2toa3: prints 2 different A4 pages on an A3 landscape sheet.
bookleta5: creates an A5 booklet (A5 pages on folded A4 sheets).
bookleta4: creates an A4 booklet (A4 pages on folded A3 sheets).
compacttoc: reduces spacing in the table of contents.
monotoc: table of contents uses the text color
(globalcolor).
twocolumntoc: displays the table of contents in two columns.
fullheader: enables a full header and footer
(document type, title, level / date, institution, pagination). Use
with \neoheader.
headrule: adds a rule below the header.
footrule: adds a rule above the footer.
headfootrule: adds both rules.
nofooter: completely removes the header and footer
(empty style).
pageonlyfooter: displays only the page number
centered at the bottom (pagenum style).
\maketitle)These options dramatically change the appearance of the first page and title.
Ideal for supervised tests, practice exams.
\neoheader.
\neoheader.
\neoheader.
\documentclass[exam]{neoschool}
\neoheader{
type = Supervised Test No.1,
school = Imaginary High School,
level = Senior Math Specialty,
duration = 2h,
calculator = exam % or true/false
}
\title{Numerical Sequences}
\date{October 21, 2025}
\subject{Mathematics} % Optional
\begin{document}
\maketitle
\end{document}
Suitable for quizzes, homework assignments.
\neoheader.
eval style with customizable
icons via \neoheader.
eval style with grading banner
added automatically.
evalicons and
evalgrade.
\neoheader.
Visual effects for less formal documents.
bubbles: title centered on a background of colored bubbles.
topbubbles: bubbles confined to the top of the page, title below.
bottombubbles: bubbles confined to the bottom of the page, title above.
More classic or minimalist options.
titleornament: adds ornaments under the title.
titlerule: adds a small rule under the title.
titlemidrule: adds a centered rule of medium width under the title.
titlefullrule: adds a 66% width rule under the title.
titlebox: title in a colored banner at the top of the page.
tighttitle: compact title style, no box, with less vertical spacing.
onlytitleleft / onlytitle / onlytitleright: displays only the title, aligned left / center / right. Ignores author, date, etc.
shorttitle: compact style, title centered on one line at the top.
shortlesson: compact style for course notes, with
type, title, and level on one line. Requires \neoheader.
\neoheader)
This command configures the information used by the styles
exam, eval, mockexam,
shortlesson, and the fullheader option.
\neoheader{
type = {Course Quiz}, % Document type
school = {A. Turing College}, % Institution name
academy = {Lyon}, % Academy name (for mockexam)
level = {Eighth Grade}, % Class level
duration = {20 minutes}, % Duration (for exam, mockexam)
calculator = {false}, % Calculator: true / false / exam
leftcontent = {\faFlask}, % Left icon (for evalicons)
rightcontent = {\faCalculator}, % Right icon (for evalicons)
leftcontentfill = {true}, % (for evalicons, boolean)
rightcontentfill = {true} % (for evalicons, boolean)
}
These options control the appearance (font, weight, shape, alignment) of the various titles in the document.
Apply by default to all titles (sections, theorems, exercises...).
headstyle = style (sffamily
by default): font family (e.g., rmfamily,
sffamily).
headweight = weight (bfseries
by default): weight (e.g., mdseries,
bfseries, sbseries for semi-bold if
available).
headshape = shape (scshape
by default): shape (e.g., upshape, itshape,
scshape for small caps).
\maketitle)Overrides global styles for the main title.
titlestyle = style (inherits from
headstyle).
titleweight = weight (inherits from
headweight).
titleshape = shape (upshape
by default).
titlealign = alignment (center
by default): left, center,
right.
\section)Specific options for section headings.
sectionnumstyle = style (circle
by default): number appearance (circle,
box, dash, plain).
sectiontextstyle = style (sc
by default): text case (sc, upper,
lower).
sectionstyle = style (normal
by default): overall visual style (ornaments,
underline, normal, highlighted,
shadedline).
sectionalign = alignment (center
by default): left, center,
right.
style (inherits from
titlestyle): font style for header and footer text.
\documentclass[
% Global Style
headstyle=sffamily,
headweight=bfseries,
headshape=scshape,
% Main Title
titlestyle=rmfamily,
titleweight=bfseries,
titleshape=upshape,
titlealign=left,
% Sections
sectionnumstyle=box,
sectiontextstyle=upper,
sectionstyle=underline,
sectionalign=left,
% Headers/Footers
headfootstyle=sffamily
]{neoschool}
The command
\positionobject{x}{y}{scale}{content}
places content at coordinates (x, y) from the top
left corner of the page, with a scale factor.
% Logo top right
\positionobject{15cm}{1cm}{0.5}{%
\includegraphics[width=3cm]{logo.png}%
}
% Text bottom left
\positionobject{2cm}{25cm}{1.2}{%
\textit{Important note}%
}
The command
\splitcontent[w1][gap]{col1}{col2}
divides the horizontal space.
\splitcontent[0.45][0.03]{%
Column 1 content (45%) \lipsum[1][1-2]
}{%
Column 2 content (52%) \lipsum[1][1-2]
}
sidebyside Environment)
Creates two tcolorbox boxes side by side. Use
\tcblower to switch from the left box to the right. Accepts
tcolorbox options.
\begin{sidebyside}[
title=\centering Comparison,
]
Advantages
\begin{itemize}
\item Point 1
\end{itemize}
\tcblower % Separates the two columns
Disadvantages
\begin{itemize}
\item Point A
\end{itemize}
\end{sidebyside}
The command
\textwithimage[*]{w_img}{s_img}{text}{img_path}
combines text and an image.
*: if present, puts the image on the left (right by default).% Image on the right (30% width)
\textwithimage{0.3}{1}{%
Description of the image which
will be displayed on the right.
}{example-image-a} % dummy image
% Image on the left (40% width)
\textwithimage*{0.4}{0.9}{%
Description to the right of the image.
}{example-image-b} % dummy image
The command
\withqrcode[*][size]{url}{content}
integrates a QR code next to content.
*: places the QR code on the right (left by default).% QR code on the left (default 2cm)
\withqrcode{https://www.google.com}{
Scan to visit Google.
}
% QR code on the right (3cm)
\withqrcode*[3cm]{https://en.wikipedia.org}{
More information on Wikipedia.
}
Commands for drawing gridded areas.
\grid[color]{width}{height}: grid
with small squares (5mm x 5mm).
\customgrid[color][dx][dy]{width}{height}: grid with custom spacing (dx, dy).
\frenchgrid[c_main][c_sec]{width}{height}: grid with large Seyès-style squares. The starred version
\frenchgrid* centers the grid horizontally.
\customgrid[blue!50][2mm][2mm]{6cm}{3cm}
\frenchgrid{7.5cm}{3cm}
\frenchgrid*{5cm}{2cm} % centered
The command \gridfill fills the remaining vertical space on
the page with a customgrid (5mm by default). The starred
version \gridfill* uses frenchgrid.
% Syntax : \gridfill[*][color][dx][dy]
% Fills with a blue 2mm x 2mm customgrid
\gridfill[blue][2mm][2mm]
% Fills with a (default) frenchgrid
\gridfill*
Applies a background style to the current page.
\notebook: lined notebook style with red margin.
\nbminorgrid: background with small grid squares (5mm).
\nbmajorgrid: Seyès grid background.
\nbminorgrid % Applies the fine grid to the whole page
neobox)
Environment for creating simple tcolorbox boxes, with or
without a frame. Accepts tcolorbox options.
neobox: box with a frame.neobox*: box without a visible frame (but background is
possible).
\begin{neobox}[
title=Standard Box
]
Content...
\end{neobox}
\begin{neobox*}
Content without a visible frame...
\end{neobox*}
Based on the xsim package.
exercise and solution Environments
Options available in \begin{exercise}[options].
points = number: number of points.
bonus-points = number: bonus points.
level = number: difficulty level (1 to
5, shown as stars ☆).
subtitle = text: subtitle or brief
description.
icon = fa-icon-name: FontAwesome icon
(e.g., pencil-alt). Requires the
exerciseicons class option.
topic = theme: topic/chapter (for
future sorting/selection).
grade = class/level: class level (for
sorting/selection).
subject = subject: subject (for
sorting/selection).
ID = identifier: unique ID to
reference the exercise (\exercisenumber{id}).
template = template-name: specific
display style for this exercise (see list below). Overrides the
global style.
\begin{exercise}[
points=3,
bonus-points=1,
level=2,
subtitle={Application},
ID=calc01,
template=sober-box
]
Calculate $3 \times (5+2)$.
\end{exercise}
\begin{solution}
$3 \times (5+2) = 3 \times 7 = 21$.
\end{solution}
See exercise \exercisenumber{calc01}.
\xsimsetup)
Place in the preamble to affect the entire document.
exercise/template = template-name:
sets the default style for all exercises.
solution/template = sol-template-name:
sets the default style for all solutions (e.g.,
sol-inline, sol-block,
sol-dotted).
solution/print = true/false: globally
shows or hides solutions. Can be overridden by the
answers class option.
Other class options affecting exercises:
exstyle = style-name: sets
the default display style (template) for all exercises (e.g.,
inline, box-hrule,
elegant-box). If not specified, it uses the style
defined by thmstyle.
exerciseicons: enables icon display for all exercises.
answers / answersonly: shows solutions after each exercise / Shows only solutions.
shuffle: randomly shuffles answers in MCQs
(choices, checkboxes).
sectionthmcounter: numbers exercises (and theorems) by section (e.g., Ex 1.1, Ex 1.2, Ex 2.1...).
sharedexcounter: shares the same counter between
exercises and theorems (combined with
sharedthmcounter).
blocksol: uses the sol-block template
for solutions.
Possible values for template (exercise option or
xsimsetup).
num-box but with "Ex." before the number.
amslikethm): simple
inline style, like a paragraph.
\faTerminal icon.
\xsimsetup{exercise/template=box-hrule-out}
\begin{exercise}[points=2]
box-hrule-out style.
\end{exercise}
\xsimsetup{exercise/template=inline} % Back to default
Environments to use inside an exercise.
(n): for single-answer MCQs.
\choice for an answer, \choice[\correct] for
the correct one. n is the number of columns.
(n): for multiple-answer
MCQs. \checkbox for an answer,
\checkbox[\correct*] for a correct one. n is the
number of columns.
\begin{exercise}[ID=qcm-deriv, points=1]
What is the derivative of $f(x)=x^2$?
\begin{choices}(2) % On 2 columns
\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]
Check the true properties.
\begin{checkboxes}(1) % On 1 column
\checkbox[\correct*] $1+1=2$
\checkbox $\sqrt{2}$ is rational.
\checkbox[\correct*] $0 \times 5 = 0$
\end{checkboxes}
\end{exercise}
Based on tcolorbox.
These class options define the default appearance for all theorem-like environments.
style-name: sets the
theorem style by name (e.g., elegant, amslike,
shaded).
% Applies the 'elegant' style to all mathematical environments.
\documentclass[thmstyle=elegant]{neoschool}
Passed in brackets: \begin{theorem}[options].
title = text: custom title (e.g.,
title=Pythagorean Theorem).
label = name: label for referencing
(\ref, \nameref).
colback = color: specific background
color.
colframe = color: specific frame color.
coltitle = color: specific title color.
fonttitle = commands: formatting
commands for the title (e.g.,
fonttitle=\sffamily\bfseries).
sectionthmcounter: counters are relative to each section (e.g., Thm 1.1, Def 1.2, Thm 2.1...).
sharedthmcounter: one counter shared across all environments (Thm 1, Def 2, Lem 3...).
thmgroupcounter: groups environments (theorem, lemma, corollary, proposition, property) under a shared counter.
thm)lem)cor)conj)propo)prop)def)meth)act)appl)ex)\begin{definition}[
title=Prime Number,
label=prime
]
A natural number is called prime
if it has exactly two distinct divisors: 1 and itself.
\end{definition}
See definition~\ref{def:prime}.
\begin{proof}
The proof is trivial and left
as an exercise for the reader.
\end{proof}
Two systems are available via the class options listings (default) or minted.
listings Option
Uses the listings package. Syntax highlighting is defined by
the chosen color theme.
Displays a code block.
\begin[options]{code}{language}[title][box-style]
... code ...
\end{code}
options: listings options (e.g.,
numbers=none, frame=single).
language: code language (e.g., python,
latex, c++...).
title: optional title for the box.box-style: tcolorbox box style (see below).
code*: variant without automatic listing numbering.
The class option codestyle=[style] (default
box-elegant) sets the box style for the entire document. The
environment's [box-style] parameter overrides this locally.
Available box styles: 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}[Square Function][box-minimal]
def square(x):
"""Computes the square of x."""
return x * x
\end{code}
Python, Java, C++,
JavaScript, SQL, LaTeX,
Bash, Assembly, Lisp,
JSON, YAML, TOML, CSV,
Markdown.
\codeinline[lang]{code}: displays inline
code with highlighting (lang optional).
\codeinput[opt]{lang}{file}[title][style]
: imports and displays code from a file.
The code \codeinline[python]{x = 5} initializes x.
codewidth = factor: (default:
1.0) sets the width of code blocks as a factor of
\linewidth.
centeredcode: boolean option to center code blocks on the page.
minted Option
Uses the minted package, requiring Python and Pygments
installed, along with compilation using --shell-escape.
Provides richer syntax highlighting.
The code, code*, \codeinline, and
\codeinput work similarly, but options are those of
minted (e.g., linenos,
highlightlines={2,3}, style=tango). Box styles
remain the same.
\documentclass[minted]{neoschool}
...
\usemintedstyle{friendly}
\begin{code}[linenos]{python}[Minted Example]
import math
def circle_area(radius):
return math.pi * radius**2
\end{code}
The class provides a pseudocode environment based on
algpseudocode and tcolorbox for displaying
algorithms. It is automatically numbered and titled.
\begin{pseudocode}{Example Algorithm}
\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)
Enabled by the class option notes=length.
\tdnote[options]{text}: Creates a note in
the margin. Notes alternate left/right. Options
(backgroundcolor, linecolor, etc.) are those
of todonotes.
\boxnote[label]{text} +
\tdmark[label]: Places a
tdnote (boxnote) anchored at a specific
point (tdmark) even inside environments where
todonotes fails. The label must match.
This is some text\tdnote{Important point!}.
\boxnote[thm-imp]{Don't forget this assumption.}
\begin{theorem}
\tdmark[thm-imp] If $x>0$, then...
\end{theorem}
Colored boxes with icons to highlight key points.
note: general remarks (\faEdit).info: additional information (\faInfoCircle).
warning: warnings (\faExclamationTriangle).
\faExclamationCircle).
\faLightbulb).\faBookmark).
\faClipboardList).
\faTools).
Each environment accepts
[Optional Title][Optional Icon]. The class
option inlineadmonition (enabled by default) displays the
title and content on the same line. To disable this behavior and force
content below the title, use the blockadmonition option.
\begin{warning}[Caution][\faSkull]
Do not divide by zero!
\end{warning}
\begin{tip}
Remember to factor first.
\end{tip}
\gradingstrip[total]: displays a banner for the
grade and comments. total optional overrides the total set by
the class option totalpoints
(default: 20).
\mrk[*][comm]{pts}: displays (pts
pt) or (pts pts) in the margin. * places on the
left, comm adds a comment.
\gradingstrip[10] % Out of 10
Question 1 \mrk*[Scoring details...]{3}
\answerfield[width]{lines}: creates a
colored background answer area with height of lines text lines
and width (default: \linewidth).
\answerframe[width]{lines}[options]:
creates a framed answer area with height of lines and
width (default: \linewidth).
\vardots[length]: draws a dotted line of
length (default: \linewidth).
Answer: \answerfield[6cm]{1}
Signature: \vardots[4cm]
\cmark: ✓ (green).
\xmark: ✗ (red).
\unchecked: ☐ (for lists).
\done: ☑ (for lists).
\wontfix: ☒ (for lists).
\begin{itemize}
\unchecked Task 1
\done Task 2
\wontfix Task 3
\end{itemize}
\competencies{Comp1\\ Comp2...}: creates a
table to assess competencies across 4 mastery levels (with emojis).
\competencies{
Master fractions \\
Solve a first-degree equation \\
Compute a derivative
}
\mhl[color]{expr}: highlights the math
expression expr with color (default: theme-specific
color).
\mc[color]{expr}: colors the math
expression expr with color (default: theme-specific
color).
\mathbox<background>[frame]{content}: quickly boxes
math content in a tcolorbox. Customizable
background color (default: white) and frame color
(default: theme-specific).
$f(x) = \mhl[cyan!20]{x^2} + \mc[blue]{3x} - 1$
$\mathbox{E=mc^2}$ % White background, theme frame
$\mathbox<yellow!20>[red]{a^2+b^2=c^2}$ % Custom
Commands available with the class option apmep.
Vectors: \vectt{AB}.
Coordinate systems: \Oij, \Oijk,
\Ouv.
Symbols/Commands: \euro (€), \cg (]),
\cd ([), \pg (≥), \pp (≤),
\barre{x} (x̄).
Trees (neotree environment): uses
forest. Syntax is that of forest, with
options passed to the environment. The
w=val option adds a weight to a branch.
Graphs (\neograph command,
lualatex required): uses TikZ graphs. Syntax
is TikZ graph syntax.
\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}
% Requires 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)
Environment for aligning equation blocks (align*) in a grid.
\begin{mathgrid}{n}: starts a grid with
n columns.
\neoline: starts a new row in the grid.
\neocol[span]{content}: adds a column with
content (an align* block). span (optional,
default 1) specifies how many columns it spans.
\begin{mathgrid}{2} % 2 columns
\neoline % Row 1
\neocol{ % Col 1
A &= 1+1 \\ A &= 2
}
\neocol{ % Col 2
B &= 3 \times 4 \\ B &= 12
}
\neoline % Row 2
\neocol[2]{ % Single column (span=2)
C &= A+B \\ C &= 2+12 \\ C &= 14
}
\end{mathgrid}