# Changelog All notable changes to the neoschool class are documented in this file. ## [1.3.26] - 2026-10-23 ### Added - `mathlettersoptions`: fontspec options for the letters set by `mathletters`. ### Fixed - A title or section heading containing `\mathbb`, `\mathcal`, `\mathbf`, `\mathrm` or a math accent such as `\vec` no longer makes the compilation loop or stop; the PDF title and bookmarks keep the plain letter. ## [1.3.25] - 2026-10-21 ### Changed - Inspired profiles: `\part` follows each house (AMS run-in bold line, *Physical Review* and ACM aligned left, Springer centred, Mir and IEEE centred with a spaced or small-capital label) instead of the generic part. - `ieeelike`: the abstract dash is spaced in French and German, attached in English. ## [1.3.24] - 2026-10-20 ### Added - Profiles `amslike`, `mirlike`, `physlike` and `springerlike`, inspired by AMS articles, Mir books, *Physical Review* and Springer textbooks, each with a TeX Live fallback font. `amslike` uses New Computer Modern Book (`mlmodern` under pdfLaTeX), with Latin Modern as fallback. - Two-column profiles `ieeelike` and `acmlike` (`onecolumn` keeps one column). - Title layouts `amslike`, `mirlike`, `physlike`, `springerlike`, `springerrule`, `ieeelike` and `acmlike`. - `sectionnumstyle=period` and `para`; `sectiontextstyle=smallcaps` and `caps`. - `mathletters` (LuaLaTeX): letters and digits of formulas in the text font or in a given font. - Fallback font lists in `mainface`, `sansface`, `monoface` and `mathface`. - `fullwidth` environment for full-width content in two-column documents. - Warnings for font options that are not font commands, for `scshape` headings in a font without small capitals, and for a main or sans font without bold. - Family, weight and shape per element, inherited from `headfamily`, `headweight` and `headshape`: `section…`, `thm…`, `ex…` and `ad…`. ### Changed - `headstyle`, `titlestyle` and `headfootstyle` are renamed `headfamily`, `titlefamily` and `headfootfamily`; the old names raise an error. - Admonitions: the titles of `soft`, `modern`, `classic` and `professional` follow `headweight` instead of a hard-coded bold. ### Fixed - `\setmathfont` ranges set by the user were erased at `\begin{document}`; `mathfacescale` is now applied when the math font is first loaded. - `adstyle=soft` with `adboxopacity=0`: no inner margins, so the text lines up with the body text. - Decimal opacities (for example `exframeopacity=40.5`) no longer stop the compilation. - `mirlike` under XeLaTeX: monospaced text at its normal size. ## [1.3.23] - 2026-10-10 ### Changed - `flow`: the four lines follow one wave shape with shifted phases, so they cross evenly and meet at both ends; solid colours and tints replace the transparency. ## [1.3.22] - 2026-10-07 ### Changed - `bubbles`: the bubbles use the three palette colours with more presence (a third anchor disc, higher opacity, boosted on `darktheme`); the subject label is set like in the other layouts. - `blocks`: a bar of seven solid blocks in the palette colours and tints replaces the overlapping translucent rectangles. - `stream`: a bold spine with two full-colour companions, two faint rules and a leading dot replaces the scattered segments. - `cloud`: a more even draw of the discs (uniform spread, capped opacity, no dark knot above the title), boosted on `darktheme`. - `exam`, `evalgrade`, `evaliconsgrade`: the grade strip labels use the sans label font like the rest of the header. - `\competencies`: the four faces are flat discs in the palette colours instead of the glossy tikzsymbols faces; readable with `print`, `unicolor` and `darktheme`. - `pseudocode`: the title separator follows `codeseparator` like `code`. - `twocoltoc`: the entries use the same fonts, colours and leaders as the normal table of contents. ### Fixed - Admonitions with a hidden frame (`soft`) kept the invisible frame width, so they sat 0.6 to 1.2 mm further from their neighbours than the theorem boxes. - Code boxes had about 2 pt more padding below the last line than above the first. - Exercises with a run-in title (`capsule`, `inline`, `line`, `rule`...): the space after one and the space before the next added up, so two consecutive exercises, or an exercise next to a box, were about 2 mm further apart than an exercise next to text. - A `\usepackage{unicode-math}` in a document (pandoc templates add one) broke the compilation under LuaLaTeX and XeLaTeX when `mathface` was not set; it is now ignored with a warning, since the math fonts come from `mathface`. ## [1.3.21] - 2026-10-06 ### Added - Option `codelang` (on with `profile=coder`, off with `nocodelang`): the language name at the top right of each code block, in the title bar when there is one, hidden when the first line leaves no room. ### Fixed - `exstyle=item`, listed in the manuals, was not accepted by the class. - `amssymb` and `amsthm` can be loaded after the class (they conflicted with `newpxmath`, and `amssymb` with `unicode-math`); the AMS symbols `\digamma`, `\beth`, `\Finv`... were missing under LuaLaTeX. - German documents use `ngerman` (post-1996 orthography and hyphenation) instead of the 1901 variant babel warned about. - An unknown `codestyle` value raises a warning and uses `shadow` instead of stopping at the first listing. - `\neoheader` keys `leftcontentfill` and `rightcontentfill`, documented but without effect: `true` now draws the icon box with inverted colours. - A `_` in a listing title (`[Fonction solutions_possibles]`) no longer stops the compilation. - The `inline`, `shell` and `raw` exercise styles no longer trigger the KOMA-Script warning about `\@startsection`. - `\texttt` in the title of a code box or `neobox` was invisible (same colour as the bar) or boxed with `inlinecodebox`: it now follows the title colour. - Theorem-like environments and admonitions accept a bare title in brackets (`\begin{definition}[Title]`, as with `amsthm`), a bare `tcolorbox` key (`[breakable]`) and an `=` inside a `title=` value (`$f(x) = g(x)$`). - `\part` in `twocolumn` documents spilled over the second column. - `solstyle=lines`: the two rules of every solution were 1 em too wide. - An unescaped `_` in `\texttt` (`\texttt{donnees_2026.csv}`) no longer stops the compilation. - `apmep` no longer loads `fancyhdr`, whose `\chead`/`\cfoot` replaced those of `scrlayer-scrpage`: the class footers (page number, author) vanished and KOMA-Script warned. `\lhead`, `\rhead`, `\lfoot`, `\rfoot`, `\fancyhf`, `\headrulewidth`, `\footrulewidth` and the `fancy` page style are provided on top of `scrlayer-scrpage`; a `\usepackage{fancyhdr}` is skipped. - `mockexam`: the page count on the cover was one too many when the document ended with `\newpage`. - The PDF metadata (title, author, subject, language) were empty; a `\\` in the title becomes a space there. - `inlinecodebox` kept the theme colours under `print` and `unicolor`. - An unknown `thmstyle` value raises one warning and uses `tag`, instead of nine warnings and `block`. - The identical-copy modes `2a5toa4`, `2a4toa3` and `4a5toa3` executed the auxiliary writes once per copy (table of contents doubled, labels multiply defined, duplicate PDF destinations): under LuaLaTeX the copies now skip them; under pdflatex and xelatex the class warns. - The A5 output modes applied the A4 type area to A5 paper (two typearea warnings); the fallback type area follows the paper size and the dead `\headheight`/`\footskip` settings are gone. - Every message is a class message (`Class neoschool Warning` or `Error`). - `darktheme` no longer overrides a `globalcolor` or `headfootcolor` given explicitly. - The title layouts `memphis`, `confetti`, `particles`, `cloud` and `wave` scale with the paper width instead of assuming A4; `bristol` sets its subtitle in `subtitleColor` instead of a fixed gray. - Dead code removed: `headsepline` settings inside page styles, an unused key set, `fancyhdr` remnants, duplicate package loads in `apmep`; the exam strings (institution, name, class, duration, date, mark, comments) come from the language tables. - Manuals: `code*`; the admonition layout option applies to `minimal`, `modern` and `soft`; the identical-copy modes need LuaLaTeX. - Manuals: `fancyhdr` is incompatible with the class (`scrlayer-scrpage`); the theorem constructors `\new