\documentclass[
    german,
    compacttoc,
    twocoltoc,
    apmep,
    vspacing=0.85,
    faketext,
    mainface=Zilla Slab,
    sansface=Work Sans,
    sansfaceoptions={BoldFont = {Work Sans SemiBold}},
    monoface=iAWriterDuoV.ttf,
    monofacescale=0.85,
    abstracttitle={},
    monofaceoptions={UprightFont={iAWriterDuoV.ttf}, UprightFeatures = { RawFeature={axis={wght=430}} }, BoldFont={iAWriterDuoV.ttf}, BoldFeatures={RawFeature={+axis={wght=700}}}},
    mathface=Concrete Math,
]{neoschool}

\title{Die Klasse \texttt{neoschool} (v1.3.7)}
\author{Razik Ikhlef \normalfont \textemdash{} \href{https://apps.edulatex.xyz}{https://apps.edulatex.xyz} \textemdash{} \href{mailto:razik.ikhlef@csilyon.fr}{razik.ikhlef@csilyon.fr}}
\date{15. Mai 2026}

\begin{document}

\maketitle

\begin{abstract}
  Die Klasse \texttt{neoschool} stellt Lehrkräften der Sekundarstufe ein
  umfassendes Werkzeugset zur Erstellung ihrer Unterrichtsmaterialien bereit
  (Klausuren, Skripte, Aufgabenblätter mit Lösungen und vieles mehr).
  Um den unterschiedlichsten Bedürfnissen gerecht zu werden, bietet sie 58 vordefinierte Farbschemata, 16 vorkonfigurierte Profile,
  zahlreiche Klassenoptionen für Layout und Typografie, spezialisierte
  Umgebungen, eigene Befehle sowie verschiedene vorformatierte Kopfzeilenstile
  für jede Dokumentart.
  Sie bindet mehrere Dutzend gängiger LaTeX-Pakete automatisch ein,
  wodurch sich die Präambel deutlich entschlacken lässt und Inkompatibilitäten weitgehend vermieden werden.
  Mehrsprachig unterstützt sie Deutsch, Englisch und Französisch.
\end{abstract}

\tableofcontents

\section{Vorkonfigurierte Profile}

Die Option \textbf{profile}=\texttt{name} aktiviert automatisch eine schlüssige Zusammenstellung von Einstellungen für unterschiedliche Dokumentarten.
Jedes Profil legt ein Farbschema, einen Titelstil, Boxstile sowie visuelle Parameter fest, die auf einen bestimmten Anwendungsfall zugeschnitten sind.

\begin{itemize}
    \item \textbf{academic}: ideal für Skripte und Unterrichtsmaterialien.
    Thema \texttt{royal}, Titel \texttt{band}, Satzstil \texttt{block}, Aufgabenstil \texttt{bar}, Hinweisstil \texttt{modern}, Codestil \texttt{plain}, Boxform \texttt{soft}.

    \item \textbf{minimalist}: aufgeräumter, reduzierter Stil.
    Thema \texttt{ink}, Titel \texttt{stream}, Satzstil \texttt{plain}, Aufgabenstil \texttt{line-outline}, Hinweisstil \texttt{classic}, Codestil \texttt{lines}, Boxform \texttt{sharp}.

    \item \textbf{material}: vom Material Design inspiriert.
    Thema \texttt{azure}, Titel \texttt{notion}, Satzstil \texttt{tile}, Aufgabenstil \texttt{capsule}, Hinweisstil \texttt{material}, Codestil \texttt{shadow}, Boxform \texttt{rounded}.

    \item \textbf{coder}: für technische Dokumente und Informatikunterlagen.
    Thema \texttt{marine}, Titel \texttt{blocks}, Satzstil \texttt{bar}, Aufgabenstil \texttt{shell}, Hinweisstil \texttt{professional}, Codestil \texttt{frame}, Boxform \texttt{chamfer}.

    \item \textbf{memo}: für Merkblätter und kompakte Zusammenfassungen.
    Thema \texttt{lagoon}, Titel \texttt{bristol}, Satzstil \texttt{sticker}, Aufgabenstil \texttt{badge}, Hinweisstil \texttt{soft}, Codestil \texttt{plain}, Boxform \texttt{chat}.

    \item \textbf{exam}: für Klausuren und Leistungsnachweise.
    Kein erzwungenes Farbschema (verwendet das Standardthema oder das vom Benutzer angegebene), Titel \texttt{eval}, Satzstil \texttt{plain}, Aufgabenstil \texttt{inline}, Hinweisstil \texttt{classic}, Codestil \texttt{plain}, Boxform \texttt{sharp}. Aktiviert den Modus \texttt{print} (Schwarzweiß).

    \item \textbf{organic}: natürlicher Stil mit weichen Formen.
    Thema \texttt{forest}, Titel \texttt{flow}, Satzstil \texttt{curve}, Aufgabenstil \texttt{capsule}, Hinweisstil \texttt{soft}, Codestil \texttt{plain}, Boxform \texttt{leaf}.

    \item \textbf{origami}: geometrischer Stil mit Faltungen.
    Thema \texttt{crimson}, Titel \texttt{geometric}, Satzstil \texttt{fold}, Aufgabenstil \texttt{rule}, Hinweisstil \texttt{classic}, Codestil \texttt{lines}, Boxform \texttt{bevel}.

    \item \textbf{blueprint}: technischer Bauplanstil.
    Thema \texttt{frost}, Titel \texttt{grid}, Satzstil \texttt{frame}, Aufgabenstil \texttt{counter-inline}, Hinweisstil \texttt{classic}, Codestil \texttt{lines}, Boxform \texttt{sharp}.

    \item \textbf{swiss}: vom Swiss Design inspiriert.
    Thema \texttt{crimson}, Titel \texttt{brush}, Satzstil \texttt{bar}, Aufgabenstil \texttt{capsule-outline}, Hinweisstil \texttt{modern}, Codestil \texttt{lines}, Boxform \texttt{southeast}.

    \item \textbf{creative}: für verspielte und farbenfrohe Materialien.
    Thema \texttt{neon}, Titel \texttt{memphis}, Satzstil \texttt{pastel}, Aufgabenstil \texttt{badge}, Hinweisstil \texttt{material}, Codestil \texttt{shadow}, Boxform \texttt{sharpish}.

    \item \textbf{focus}: nüchterner Stil mit seitlichem Akzent.
    Thema \texttt{rhodium}, Titel \texttt{spine}, Satzstil \texttt{tag}, Aufgabenstil \texttt{capsule}, Hinweisstil \texttt{classic}, Codestil \texttt{frame}, Boxform \texttt{west}.

    \item \textbf{elegant}: edler und reduzierter Stil.
    Thema \texttt{velours}, Titel \texttt{minimal}, Satzstil \texttt{bar}, Aufgabenstil \texttt{line-circle}, Hinweisstil \texttt{classic}, Codestil \texttt{line}, Boxform \texttt{sharp}.

    \item \textbf{slate}: nüchterner Stil mit Seitenstreifen.
    Thema \texttt{slate}, Titel \texttt{band}, Satzstil \texttt{tile}, Aufgabenstil \texttt{bar}, Hinweisstil \texttt{professional}, Codestil \texttt{lines}, Boxform \texttt{sharp}.

    \item \textbf{maker}: technischer Stil für DIY-Projekte.
    Thema \texttt{terra}, Titel \texttt{tech}, Satzstil \texttt{sticker}, Aufgabenstil \texttt{rule}, Hinweisstil \texttt{classic}, Codestil \texttt{lines}, Boxform \texttt{sharp}.

    \item \textbf{zen}: ruhiger und harmonischer Stil.
    Thema \texttt{moss}, Titel \texttt{wave}, Satzstil \texttt{block}, Aufgabenstil \texttt{line-outline}, Hinweisstil \texttt{soft}, Codestil \texttt{shadow}, Boxform \texttt{sharpish}. Aktiviert den Modus \texttt{unicolor}.
\end{itemize}

\begin{code}{latex}
% Verwendung eines Profils
\documentclass[profile=academic]{neoschool}

% Anpassung
\documentclass[profile=exam, theme=midnight]{neoschool}
\end{code}

\section{Geladene Pakete}

Die folgenden Pakete werden von der Klasse \texttt{neoschool} automatisch geladen.
\begin{multicols}{4}
  \begin{itemize}[label={}]
    \item \texttt{adforn}
    \item \texttt{adjustbox}
    \item \texttt{algpseudocode}
    \item \texttt{bookmark}
    \item \texttt{calc}
    \item \texttt{changepage}
    \item \texttt{colortbl}
    \item \texttt{cuted}
    \item \texttt{enumitem}
    \item \texttt{environ}
    \item \texttt{etoolbox}
    \item \texttt{fontawesome5}
    \item \texttt{forest}
    \item \texttt{iftex}
    \item \texttt{kvoptions}
    \item \texttt{lastpage}
    \item \texttt{marginnote}
    \item \texttt{mathtools}
    \item \texttt{microtype}
    \item \texttt{multicol}
    \item \texttt{nccmath}
    \item \texttt{needspace}
    \item \texttt{pdftexcmds}
    \item \texttt{pgffor}
    \item \texttt{pgfplots}
    \item \texttt{pifont}
    \item \texttt{qrcode}
    \item \texttt{scrlayer-scrpage}
    \item \texttt{setspace}
    \item \texttt{silence}
    \item \texttt{siunitx}
    \item \texttt{tabularray}
    \item \texttt{tasks}
    \item \texttt{tcolorbox}
    \item \texttt{tikz}
    \item \texttt{tikzpagenodes}
    \item \texttt{tikzsymbols}
    \item \texttt{ulem}
    \item \texttt{wrapfig}
    \item \texttt{xcolor}
    \item \texttt{xhfill}
    \item \texttt{xkeyval}
    \item \texttt{xsim}
    \item \texttt{xstring}
  \end{itemize}
\end{multicols}

Bei der Übersetzung mit \texttt{pdflatex} werden zusätzlich die Pakete \texttt{fontenc} (mit Option \texttt{T1}), \texttt{inputenc} (mit Option \texttt{utf8}), \texttt{newpxtext} und \texttt{newpxmath} eingebunden.
Bei der Übersetzung mit \texttt{lualatex} stehen die Pakete \texttt{fontspec}, \texttt{luacas}, \texttt{lua-ul} und \texttt{luacolor} zur Verfügung; zudem werden die Schriftarten \texttt{TeX Gyre Pagella} und \texttt{TeX Gyre Heros} sowie \texttt{newpxmath} verwendet.

\subsection{Optionale Pakete}

\begin{itemize}
    \item \textbf{faketext}: lädt \texttt{blindtext} und \texttt{lipsum} zur Erzeugung von Blindtext.
    \item \textbf{mathastext}: lädt \texttt{mathastext}, um die Textschrift auch im Mathematikmodus zu verwenden.
    \item \textbf{nomath}: deaktiviert sämtliche standardmäßig geladenen Mathematikpakete (\texttt{annotate-equations}, \texttt{bm}, \texttt{cancel}, \texttt{esvect}, \texttt{mathrsfs}, \texttt{ncccomma}, \texttt{numprint}, \texttt{tdsfrmath}, \texttt{tkz-euclide}, \texttt{tkz-tab}, \texttt{witharrows} und \texttt{xlop}). Empfehlenswert für Dokumente ohne anspruchsvollen Mathematiksatz, um die Übersetzungszeit zu verkürzen.
    \item \textbf{notes}/\textbf{leftnotes}/\textbf{rightnotes}: laden \texttt{todonotes}.
    \item \textbf{apmep}: lädt eine Reihe von Paketen zur Übersetzung französischer APMEP-Prüfungsaufgaben, darunter \texttt{esvect}, \texttt{fourier-orns}, \texttt{numprint}, \texttt{pstricks} samt zugehörigem Ökosystem, \texttt{tabularx}, \texttt{textcomp} und \texttt{variations}.
    \item \textbf{mathics}: lädt \texttt{asymptote} und \texttt{latexalpha2} für Computeralgebra über Mathics.
\end{itemize}

\section{Konfigurationsoptionen}

\subsection{Sprache}

\begin{itemize}
    \item \textbf{english}, \textbf{french}, \textbf{german}: aktiviert die Übersetzungen und sprachspezifischen Konventionen.
    Diese Optionen wirken sich auf die Bezeichnungen der Umgebungen, die Typografie und die mathematischen Konventionen aus. Die Option \texttt{french} lädt zusätzlich das Paket \texttt{frenchmath}.
    \item \textbf{nofrenchmath}: unterdrückt mit der Option \texttt{french} das Laden von \texttt{frenchmath}.
    \item \textbf{nofrenchlist}: deaktiviert den französischen Listenstil (Punkte statt Gedankenstriche).
    \item \textbf{frenchlistaspar}: behandelt französische Listen als Absätze.
\end{itemize}

\subsection{Allgemeines Erscheinungsbild}

\subsubsection{Vordefinierte Farbschemata}

Die Option \textbf{theme}=\texttt{name} legt das Farbschema des Dokuments fest.
Folgende Farbschemata stehen zur Verfügung (58 Themen).

\begin{multicols}{4}
  \begin{itemize}[label={}]
    \item \texttt{amethyst}
    \item \texttt{arctic}
    \item \texttt{athenee}
    \item \texttt{aurora}
    \item \texttt{axiom} (Standard)
    \item \texttt{azure}
    \item \texttt{bordeaux}
    \item \texttt{coffee}
    \item \texttt{crimson}
    \item \texttt{cyprus}
    \item \texttt{dusk}
    \item \texttt{eton}
    \item \texttt{excellence}
    \item \texttt{forest}
    \item \texttt{frost}
    \item \texttt{garden}
    \item \texttt{graphite}
    \item \texttt{harvard}
    \item \texttt{hearth}
    \item \texttt{heritage}
    \item \texttt{ink}
    \item \texttt{ivy}
    \item \texttt{jewel}
    \item \texttt{lagoon}
    \item \texttt{library}
    \item \texttt{mahogany}
    \item \texttt{manor}
    \item \texttt{marine}
    \item \texttt{midnight}
    \item \texttt{mineral}
    \item \texttt{mist}
    \item \texttt{moss}
    \item \texttt{mulberry}
    \item \texttt{neon}
    \item \texttt{nocturne}
    \item \texttt{oceanic}
    \item \texttt{opera}
    \item \texttt{orchid}
    \item \texttt{peony}
    \item \texttt{prestige}
    \item \texttt{renaissance}
    \item \texttt{retro}
    \item \texttt{rhodium}
    \item \texttt{royal}
    \item \texttt{saffron}
    \item \texttt{sage}
    \item \texttt{sequoia}
    \item \texttt{slate}
    \item \texttt{studio}
    \item \texttt{study}
    \item \texttt{taiga}
    \item \texttt{terra}
    \item \texttt{trinity}
    \item \texttt{tundra}
    \item \texttt{velours}
    \item \texttt{velvet}
    \item \texttt{vivid}
    \item \texttt{woodland}
  \end{itemize}
\end{multicols}

Jedes Farbschema definiert vier Farben: eine Primärfarbe (Titel, Abschnitte, Definitionen), eine Sekundärfarbe (Sätze), eine Tertiärfarbe (Aufgaben) und eine Strukturfarbe (neutrale Elemente wie Bemerkungen und Inline-Code).

\begin{code}{latex}
\documentclass[theme=oceanic]{neoschool}
\end{code}

\subsubsection{Farbmodi}

\begin{itemize}
    \item \textbf{print}: Schwarzweißausgabe für den Druck.
    \item \textbf{unicolor}: verwendet die Primärfarbe für alle Umgebungen.
    \item \textbf{darktheme}: aktiviert ein dunkles Farbschema mit dunklem Hintergrund und hellem Text.
\end{itemize}

\subsubsection{Farbanpassung}

\begin{itemize}
    \item \textbf{globalcolor}=\texttt{Farbe}: Farbe des Haupttextes (Standard: \texttt{black}).
    \item \textbf{titlecolor}=\texttt{Farbe}: Farbe des Haupttitels.
    \item \textbf{titlehexcolor}=\texttt{RRGGBB}: Titelfarbe in hexadezimaler Schreibweise.
    \item \textbf{headcolor}=\texttt{Farbe}: Farbe der \texttt{\textbackslash section}-Überschriften.
    \item \textbf{subcolor}=\texttt{Farbe}: Farbe der \texttt{\textbackslash subsection}-Überschriften.
    \item \textbf{subsubcolor}=\texttt{Farbe}: Farbe der \texttt{\textbackslash subsubsection}-Überschriften.
    \item \textbf{headfootcolor}=\texttt{Farbe}: Farbe der Kopf- und Fußzeilen.
    \item \textbf{secondarymix}=\texttt{0--100}: Mischanteil der Sekundärfarbe (Standard: 85).
    \item \textbf{tertiarymix}=\texttt{0--100}: Mischanteil der Tertiärfarbe (Standard: 85).
\end{itemize}

\subsubsection{Erscheinungsbild der Boxen}

\paragraph{Rahmen und Hintergründe:}
\begin{itemize}
    \item \textbf{thmnoframe} / \textbf{thmframe}: (de)aktiviert die Rahmen der Sätze.
    \item \textbf{thmnoback} / \textbf{thmback}: (de)aktiviert die Hintergründe der Sätze.
    \item \textbf{codenoframe} / \textbf{codeframe}: (de)aktiviert die Rahmen der Codeboxen.
    \item \textbf{codenoback} / \textbf{codeback}: (de)aktiviert die Hintergründe der Codeboxen.
    \item \textbf{codenonum} / \textbf{codenum}: (de)aktiviert die Zeilennummerierung.
    \item \textbf{exnoback} / \textbf{exback}: (de)aktiviert die Hintergründe der Aufgaben.
    \item \textbf{noback} / \textbf{back}: (de)aktiviert sämtliche Hintergründe.
    \item \textbf{noframe} / \textbf{frame}: (de)aktiviert sämtliche Rahmen.
    \item \textbf{clean}: deaktiviert alle Rahmen und Hintergründe.
    \item \textbf{styled}: aktiviert alle Rahmen und Hintergründe.
\end{itemize}

\paragraph{Deckkraft der Hintergründe:}
\begin{itemize}
    \item \textbf{boxopacity}=\texttt{n}: globale Deckkraft der Hintergründe (0--100, Standard: 8).
    \item \textbf{thmboxopacity}=\texttt{n}: Deckkraft der Sätze (Standard: 8).
    \item \textbf{exboxopacity}=\texttt{n}: Deckkraft der Aufgaben (Standard: 0).
    \item \textbf{codeboxopacity}=\texttt{n}: Deckkraft der Codeboxen (Standard: 5).
    \item \textbf{adboxopacity}=\texttt{n}: Deckkraft der Hinweisboxen (Standard: 10).
    \item \textbf{mathboxopacity}=\texttt{n}: Deckkraft der mathematischen Hervorhebungen (Standard: 15).
\end{itemize}

\paragraph{Deckkraft der Rahmen:}
\begin{itemize}
    \item \textbf{frameopacity}=\texttt{n}: globale Deckkraft der Rahmen (0--100).
    \item \textbf{thmframeopacity}=\texttt{n}: Deckkraft der Satzrahmen (Standard: 90).
    \item \textbf{exframeopacity}=\texttt{n}: Deckkraft der Aufgabenrahmen (Standard: 95).
    \item \textbf{codeframeopacity}=\texttt{n}: Deckkraft der Coderahmen (Standard: 85).
    \item \textbf{adframeopacity}=\texttt{n}: Deckkraft der Rahmen von Hinweisboxen (Standard: 90).
    \item \textbf{sideframeopacity}=\texttt{n}: Deckkraft der Rahmen von \texttt{sidebyside} (Standard: 90).
\end{itemize}

\paragraph{Linienstärke der Rahmen:}
\begin{itemize}
    \item \textbf{border}=\texttt{dim}: globale Linienstärke der Rahmen.
    \item \textbf{thmborder}=\texttt{dim}: Linienstärke der Satzrahmen (Standard: 0.8pt).
    \item \textbf{exborder}=\texttt{dim}: Linienstärke der Aufgabenrahmen (Standard: 0.8pt).
    \item \textbf{codeborder}=\texttt{dim}: Linienstärke der Coderahmen (Standard: 0.8pt).
    \item \textbf{adborder}=\texttt{dim}: Linienstärke der Rahmen von Hinweisboxen (Standard: 0.8pt).
\end{itemize}

\paragraph{Innenabstand:}
\begin{itemize}
    \item \textbf{padding}=\texttt{Wert}: passt den Innenabstand der Boxen an.
    \textit{Mögliche Werte:} \texttt{tight} (eng), \texttt{loose} (großzügig), \texttt{normal} (Standard).
\end{itemize}

\paragraph{Eckenrundung:}
\begin{itemize}
    \item \textbf{boxarc}=\texttt{dim}: Rundung für \texttt{neobox} und \texttt{answerframe} (Standard: \texttt{0pt}).
    \item \textbf{thmboxarc}=\texttt{dim}: Rundung für die Sätze (Standard: \texttt{0pt}).
    \item \textbf{exboxarc}=\texttt{dim}: Rundung für die Aufgaben (Standard: \texttt{0pt}).
    \item \textbf{codeboxarc}=\texttt{dim}: Rundung für die Codeboxen (Standard: \texttt{0pt}).
    \item \textbf{sideboxarc}=\texttt{dim}: Rundung für \texttt{sidebyside} (Standard: \texttt{0pt}).
    \item \textbf{pseudoboxarc}=\texttt{dim}: Rundung für \texttt{pseudocode} (Standard: \texttt{0pt}).
    \item \textbf{sectionarc}=\texttt{dim}: Rundung für Abschnittsüberschriften (Stil \texttt{highlighted} oder \texttt{shaded}).
\end{itemize}

\paragraph{Boxformen:}

Die Option \textbf{boxshape}=\texttt{Form} legt die globale Form der Boxenecken fest.
Spezifische Optionen stehen ebenfalls zur Verfügung: \textbf{thmboxshape}, \textbf{exboxshape}, \textbf{codeboxshape}, \textbf{adboxshape}, \textbf{neoboxshape}, \textbf{sideboxshape}.
Mit zwei zusätzlichen Optionen lässt sich die Form des Titel-Etiketts der Sätze von der Hauptbox unterscheiden:
\begin{itemize}
    \item \textbf{thmtitleshape}=\texttt{Form}: Form des Titel-Etiketts (übernimmt \texttt{thmboxshape}, falls nicht angegeben, Standard: \texttt{rounded}).
    \item \textbf{thmtitlearc}=\texttt{dim}: Rundung des Titel-Etiketts (übernimmt \texttt{thmboxarc}, falls nicht angegeben, Standard: \texttt{3pt}).
\end{itemize}

Verfügbare Werte:
\begin{itemize}
    \item \texttt{rounded} (Standard): klassisch abgerundete Ecken.
    \item \texttt{soft}: leicht abgerundete Ecken.
    \item \texttt{sharp}: rechtwinklige Ecken.
    \item \texttt{sharpish}: minimal abgerundete Ecken.
    \item \texttt{curve}: stark gewölbte Ecken.
    \item \texttt{bevel}: schräg abgeschnittene Ecken.
    \item \texttt{chamfer}: kantig abgeschrägte Ecken.
    \item \texttt{chat}: Sprechblasenstil.
    \item \texttt{leaf}: blattförmig abgerundete Ecken.
    \item \texttt{northeast}, \texttt{northwest}, \texttt{southeast}, \texttt{southwest}: Rundung an einer einzelnen Ecke.
    \item \texttt{north}, \texttt{south}, \texttt{east}, \texttt{west}: Rundung an einer Seite.
    \item \texttt{downhill}, \texttt{uphill}: diagonal abgerundete Ecken.
\end{itemize}

\paragraph{Titelabschluss:}
\begin{itemize}
    \item \textbf{thmterminator}=\texttt{Text}: Abschluss nach dem Titel der Sätze (Standard: \texttt{.\textbackslash !}).
    \item \textbf{thmseparator}=\texttt{Text}: Trennzeichen zwischen Bezeichnung und benutzerdefiniertem Titel.
    \item \textbf{adterminator}=\texttt{Text}: Abschluss für die Hinweisboxen (Standard: \texttt{.\textbackslash !}).
    \item \textbf{exterminator}=\texttt{Text}: Abschluss für die Aufgaben (Standard: \texttt{.}).
    \item \textbf{boxtitle}=\texttt{Text}: Standardtitel für allgemeine Boxen.
\end{itemize}

\subsubsection{Weitere Anzeigeoptionen}

\begin{itemize}
    \item \textbf{scale}: vereinheitlicht die Schriftgröße in \texttt{lualatex}/\texttt{xelatex}.
    \item \textbf{inlinecodebox}: stellt Inline-Code (\texttt{\textbackslash texttt}) in einer eingerahmten und farbigen Box dar.
    \item \textbf{inlineadmonition} (Standard): Titel und Inhalt der Hinweisboxen stehen auf derselben Zeile.
    \item \textbf{blockadmonition}: erzwingt, dass der Inhalt der Hinweisboxen unterhalb des Titels steht.
\end{itemize}

\subsection{Typografie}

\subsubsection{Schriftarten}

\begin{itemize}
    \item \textbf{mainface}=\texttt{Schrift}: Hauptschrift (mit Serifen).
    \item \textbf{mainfaceoptions}=\texttt{Optionen}: Optionen für die Hauptschrift.
    \item \textbf{mainfacescale}=\texttt{Faktor}: Skalierungsfaktor (Standard: 1.0).
    \item \textbf{sansface}=\texttt{Schrift}: serifenlose Schrift.
    \item \textbf{sansfaceoptions}=\texttt{Optionen}: Optionen für die serifenlose Schrift.
    \item \textbf{sansfacescale}=\texttt{Faktor}: Skalierungsfaktor (Standard: 1.0).
    \item \textbf{monoface}=\texttt{Schrift}: nichtproportionale Schrift (Code).
    \item \textbf{monofaceoptions}=\texttt{Optionen}: Optionen für die Mono-Schrift.
    \item \textbf{monofacescale}=\texttt{Faktor}: Skalierungsfaktor (Standard: 1.0).
    \item \textbf{mathface}=\texttt{Schrift}: Mathematikschrift.
    \item \textbf{mathfaceoptions}=\texttt{Optionen}: Optionen für die Mathematikschrift.
    \item \textbf{mathfacescale}=\texttt{Faktor}: Skalierungsfaktor für die Mathematik.
    \item \textbf{facefamily}=\texttt{Familie}: vollständige Schriftfamilie.
    \item \textbf{facefamilyoptions}=\texttt{Optionen}: Optionen für die Schriftfamilie.
    \item \textbf{sfbody}: verwendet die serifenlose Schrift für den Fließtext.
    \item \textbf{sfall}: verwendet die serifenlose Schrift für das gesamte Dokument.
    \item \textbf{mathastext}: verwendet die Textschrift im Mathematikmodus.
\end{itemize}

\subsubsection{Titelstile}

\paragraph{Globale Stile:}
\begin{itemize}
    \item \textbf{headstyle}=\texttt{Stil}: Schriftfamilie (Standard: \texttt{sffamily}).
    \item \textbf{headweight}=\texttt{Stärke}: Schriftstärke (Standard: \texttt{bfseries}).
    \item \textbf{headshape}=\texttt{Form}: Schriftschnitt (Standard: \texttt{upshape}).
\end{itemize}

\paragraph{Haupttitel:}
\begin{itemize}
    \item \textbf{titlestyle}=\texttt{Stil}: übernimmt \texttt{headstyle}.
    \item \textbf{titleweight}=\texttt{Stärke}: übernimmt \texttt{headweight}.
    \item \textbf{titleshape}=\texttt{Form}: Standard \texttt{upshape}.
    \item \textbf{titlesize}=\texttt{Größe}: Größe des Titels (Standard: \texttt{hugeminus}).
    \item \textbf{titlealign}=\texttt{Ausrichtung}: Ausrichtung (Standard: \texttt{center}).
    \item \textbf{titledecor}=\texttt{Verzierung}: Verzierung unter dem Titel (Standard: \texttt{none}).
    \item[] Werte: \texttt{none}, \texttt{ornament}, \texttt{rule}, \texttt{midrule}, \texttt{fullrule}.
\end{itemize}

\paragraph{Abschnitte:}
\begin{itemize}
    \item \textbf{sectionnumstyle}=\texttt{Stil}: Erscheinungsbild der Nummer (Standard: \texttt{circle}).
    \item[] Werte: \texttt{circle}, \texttt{box}, \texttt{dash}, \texttt{plain}.
    \item \textbf{sectiontextstyle}=\texttt{Stil}: Schreibweise des Textes (Standard: \texttt{sc}).
    \item[] Werte: \texttt{sc}, \texttt{upper}, \texttt{lower}.
    \item \textbf{sectionstyle}=\texttt{Stil}: visueller Stil (Standard: \texttt{normal}).
    \item[] Werte: \texttt{normal}, \texttt{ornaments}, \texttt{underline}, \texttt{highlighted}, \texttt{shadedline}.
    \item \textbf{sectionalign}=\texttt{Ausrichtung}: Ausrichtung (Standard: \texttt{center}).
\end{itemize}

\paragraph{Kopf- und Fußzeilen:}
\begin{itemize}
    \item \textbf{headfootstyle}=\texttt{Stil}: übernimmt \texttt{titlestyle}.
\end{itemize}

\subsection{Layout}

\subsubsection{Ränder und Abstände}

\begin{itemize}
    \item \textbf{margin}=\texttt{dim}: Breite der horizontalen Ränder (Standard: \texttt{1.5cm}).
    \item \textbf{indent}=\texttt{dim}: Größe des Einzugs (Standard: \texttt{1em}).
    \item \textbf{noindent}: unterdrückt den Einzug am Absatzanfang.
    \item \textbf{parskip}=\texttt{Wert}: Absatzabstand (Standard: \texttt{half}).
    KOMA-Script-Werte: \texttt{false}, \texttt{true}/\texttt{full}, \texttt{half},
    mit optionalen Suffixen \texttt{-}, \texttt{+}, \texttt{*} zur Steuerung des Zeilenausgleichs.
    Das Paket \texttt{parskip} nicht zusätzlich laden.
    \item \textbf{vspacing}=\texttt{Faktor}: Stauchungs- bzw. Streckfaktor in vertikaler Richtung (Standard: \texttt{1.0}).
    Werte zwischen 0,25 und 2,0.
\end{itemize}

\subsubsection{Kopf- und Fußzeilen}

\begin{itemize}
    \item \textbf{fullheader}: aktiviert vollständige Kopf- und Fußzeilen (erfordert \texttt{\textbackslash neoheader}).
    \item \textbf{nofooter}: unterdrückt Kopf- und Fußzeile (Stil \texttt{empty}).
    \item \textbf{pageonlyfooter}: zeigt ausschließlich die zentrierte Seitenzahl an.
    \item \textbf{headerules}=\texttt{Stil}: Trennlinien (Standard: \texttt{none}).
    Werte: \texttt{none}, \texttt{headrule}, \texttt{footrule}, \texttt{headfootrule}.
\end{itemize}

\subsubsection{Inhaltsverzeichnis}

\begin{itemize}
    \item \textbf{compacttoc}: reduziert die Abstände im Inhaltsverzeichnis.
    \item \textbf{monotoc}: setzt das Inhaltsverzeichnis ausschließlich in der Primärfarbe.
    \item \textbf{twocoltoc}: stellt das Inhaltsverzeichnis zweispaltig dar.
\end{itemize}

\subsubsection{Ausgabemodi}

Mit diesen Optionen lassen sich mehrere logische Seiten auf einem einzigen physischen Blatt ausgeben.
\begin{itemize}
    \item \textbf{2a5toa4}: 2 identische A5-Seiten auf einem A4-Blatt im Querformat.
    \item \textbf{2a4toa3}: 2 identische A4-Seiten auf einem A3-Blatt im Querformat.
    \item \textbf{4a5toa3}: 4 identische A5-Seiten auf einem A3-Blatt.
    \item \textbf{2toa3}: 2 unterschiedliche A4-Seiten auf einem A3-Blatt im Querformat.
    \item \textbf{bookleta5}: A5-Broschüre (A5-Seiten auf gefalteten A4-Blättern).
    \item \textbf{bookleta4}: A4-Broschüre (A4-Seiten auf gefalteten A3-Blättern).
\end{itemize}

\subsection{Sonstige Optionen}

\begin{itemize}
    \item \textbf{abstracttitle}=\texttt{Titel}: Titel der Umgebung \texttt{abstract} (Standard: \texttt{DEFAULT}).
    \item \textbf{boldlistlabels}: setzt die Listenbezeichner in Fettschrift.
    \item \textbf{totalpoints}=\texttt{n}: Gesamtpunktzahl der Bewertungsskala (Standard: 20).
\end{itemize}

\section{Dokumentstile}

\subsection{Titel-Layouts (\texttt{titlelayout})}

Die Option \textbf{titlelayout}=\texttt{Stil} legt das Erscheinungsbild der ersten Seite und des Titels fest.

\subsubsection{Klausurstile}

\begin{itemize}
    \item \textbf{exam}: vollständiger Stil mit Tabelle für Name, Klasse, Datum sowie Bewertungsleiste.
    \item \textbf{shortexam}: kompakter Stil für Klausuren.
    \item \textbf{mockexam}: spezieller Stil für Probeklausuren (z.\,B. Probe-Abitur).
\end{itemize}

\subsubsection{Stile für Leistungsnachweise}

\begin{itemize}
    \item \textbf{eval}: Standardstil mit Informationen in den Ecken.
    \item \textbf{evalicons}: \texttt{eval}-Stil mit anpassbaren Symbolen.
    \item \textbf{evalgrade}: \texttt{eval}-Stil mit Bewertungsleiste.
    \item \textbf{evaliconsgrade}: kombiniert \texttt{evalicons} und \texttt{evalgrade}.
    \item \textbf{shorteval}: kompakter Stil auf einer Zeile.
\end{itemize}

\subsubsection{Designstile}

\begin{multicols}{4}
  \begin{itemize}
    \item \textbf{band}
    \item \textbf{banner}
    \item \textbf{bar}
    \item \textbf{bauhaus}
    \item \textbf{blocks}
    \item \textbf{book}
    \item \textbf{bristol}
    \item \textbf{brush}
    \item \textbf{bubbles}
    \item \textbf{champagne}
    \item \textbf{circles}
    \item \textbf{cloud}
    \item \textbf{confetti}
    \item \textbf{flow}
    \item \textbf{geometric}
    \item \textbf{grid}
    \item \textbf{magazine}
    \item \textbf{memphis}
    \item \textbf{notion}
    \item \textbf{particles}
    \item \textbf{simplenotion}
    \item \textbf{spine}
    \item \textbf{stream}
    \item \textbf{tech}
    \item \textbf{wave}
  \end{itemize}
\end{multicols}

\subsubsection{Klassische Stile}

\begin{itemize}
    \item \textbf{default}: zentrierter Standardtitel.
    \item \textbf{titlebox}: Titel in einem farbigen Banner am Seitenanfang.
    \item \textbf{tighttitle}: kompakter Titel ohne Box.
    \item \textbf{onlytitle}: zeigt ausschließlich den zentrierten Titel an.
    \item \textbf{shorttitle}: kompakter, einzeiliger zentrierter Titel.
    \item \textbf{shortlesson}: kompakter Stil für Lehrunterlagen.
    \item \textbf{minimal}: minimalistischer, reduzierter Stil.
    \item \textbf{frame}: eingerahmter Titel.
\end{itemize}

\begin{code}{latex}
\documentclass[titlelayout=exam]{neoschool}
\neoheader{
  type = Klausur Nr. 1,
  school = Goethe-Gymnasium,
  level = Mathematik LK, Q4,
  duration = 2h,
  calculator = exam
}
\title{Zahlenfolgen}
\date{21. Oktober 2025}
\subject{Mathematik}
\begin{document}
\maketitle
...
\end{document}
\end{code}

\subsection{Konfiguration der Kopfzeile (\texttt{\textbackslash neoheader})}

Mit diesem Befehl werden die Angaben für die Stile \texttt{exam}, \texttt{eval}, \texttt{mockexam}, \texttt{shortlesson} sowie für die Option \texttt{fullheader} festgelegt.

\begin{code}{latex}
\neoheader{
  type = {Lernzielkontrolle},
  school = {Alan-Turing-Gymnasium},
  academy = {Bayern},
  level = {Klasse 8},
  duration = {20 Minuten},
  calculator = {false},       % true / false / exam
  leftcontent = {\faFlask},
  rightcontent = {\faCalculator},
  leftcontentfill = {true},
  rightcontentfill = {true}
}
\end{code}

\section{Mathematische Umgebungen}

Basierend auf \texttt{tcolorbox}.

\subsection{Satzstile}

Die Option \textbf{thmstyle}=\texttt{Stil} legt das Erscheinungsbild der satzartigen Umgebungen fest.
Werte: \texttt{bar}, \texttt{block}, \texttt{tile}, \texttt{fold}, \texttt{plain}, \texttt{frame}, \texttt{curve}, \texttt{sticker}, \texttt{pastel}, \texttt{tag} (Standard), \texttt{raw}.

\subsection{Verfügbare Umgebungen}

\begin{itemize}
    \item \textbf{theorem} (Ref.: \texttt{thm})
    \item \textbf{lemma} (Ref.: \texttt{lem})
    \item \textbf{corollary} (Ref.: \texttt{cor})
    \item \textbf{conjecture} (Ref.: \texttt{conj})
    \item \textbf{proposition} (Ref.: \texttt{propo})
    \item \textbf{property} (Ref.: \texttt{prop})
    \item \textbf{properties} (Ref.: \texttt{prop})
    \item \textbf{definition} (Ref.: \texttt{def})
    \item \textbf{definitions} (Ref.: \texttt{def})
    \item \textbf{method} (Ref.: \texttt{meth})
    \item \textbf{activity} (Ref.: \texttt{act})
    \item \textbf{application} (Ref.: \texttt{appl})
    \item \textbf{remark}, \textbf{remarks} (ohne Nummerierung)
    \item \textbf{example}, \textbf{examples} (Ref.: \texttt{ex})
    \item \textbf{proof}
\end{itemize}

\subsection{Optionen der Umgebungen}

\begin{itemize}
    \item \textbf{title}=\texttt{Text}: benutzerdefinierter Titel.
    \item \textbf{label}=\texttt{Bezeichner}: Marke für \texttt{\textbackslash ref}.
    \item \textbf{colback}=\texttt{Farbe}: Hintergrundfarbe.
    \item \textbf{colframe}=\texttt{Farbe}: Rahmenfarbe.
    \item \textbf{coltitle}=\texttt{Farbe}: Titelfarbe.
    \item \textbf{fonttitle}=\texttt{Befehle}: Formatierung des Titels.
\end{itemize}

\subsection{Nummerierungsoptionen}

\begin{itemize}
    \item \textbf{sectionthmcounter}: Zähler beziehen sich auf den jeweiligen Abschnitt.
    \item \textbf{sharedthmcounter}: ein einziger Zähler wird von allen Umgebungen gemeinsam genutzt.
    \item \textbf{thmgroupcounter}: gemeinsamer Zähler für Satz, Lemma, Korollar, Proposition und Eigenschaft.
    \item \textbf{sharedexcounter}: gemeinsamer Zähler für Aufgaben und Sätze.
\end{itemize}

\subsection{Beispiele für Umgebungen}

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\begin{definition}[
  title=Primzahl,
  label=primzahl
]
Eine natürliche Zahl heißt prim, wenn sie
genau zwei verschiedene Teiler besitzt:
1 und sich selbst.
\end{definition}

Siehe Definition~\ref{def:primzahl}.
\end{codeside}
\tcblower
\begin{definition}[
  title=Primzahl,
  label=primzahl
]
Eine natürliche Zahl heißt prim, wenn sie genau zwei verschiedene Teiler besitzt: 1 und sich selbst.
\end{definition}
Siehe Definition~\ref{def:primzahl}.
\end{sidebyside}

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\begin{theorem}[title=Satz des Pythagoras]
In einem rechtwinkligen Dreieck ist
das Quadrat der Hypotenuse gleich
der Summe der Quadrate der beiden
Katheten:
\[ c^2 = a^2 + b^2 \]
\end{theorem}
\end{codeside}
\tcblower
\begin{theorem}[title=Satz des Pythagoras]
In einem rechtwinkligen Dreieck ist
das Quadrat der Hypotenuse gleich
der Summe der Quadrate der beiden
Katheten:
\[ c^2 = a^2 + b^2 \]
\end{theorem}
\end{sidebyside}

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\begin{property}
Jede differenzierbare Funktion
ist stetig.
\end{property}

\begin{proof}
Dies folgt unmittelbar aus
der Definition der Ableitung.
\end{proof}
\end{codeside}
\tcblower
\begin{property}
Jede differenzierbare Funktion ist stetig.
\end{property}
\begin{minipage}{0.95\linewidth}
  \begin{proof}
    Dies folgt unmittelbar aus der Definition der Ableitung.
  \end{proof}
\end{minipage}
\end{sidebyside}

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\begin{example}
Sei $f(x) = x^2$.
Dann ist $f'(x) = 2x$.
\end{example}

\begin{remark}
Die Umkehrung gilt nicht:
$|x|$ ist stetig, aber bei $0$
nicht differenzierbar.
\end{remark}
\end{codeside}
\tcblower
\begin{example}
Sei $f(x) = x^2$. Dann ist $f'(x) = 2x$.
\end{example}
\begin{remark}
Die Umkehrung gilt nicht: $|x|$ ist stetig, aber bei $0$ nicht differenzierbar.
\end{remark}
\end{sidebyside}

\section{Aufgaben}

Basierend auf dem Paket \texttt{xsim}.

\subsection{Umgebungen \texttt{exercise} und \texttt{solution}}

\subsubsection{Optionen einer Aufgabe}

\begin{itemize}
    \item \textbf{points}=\texttt{n}: Punktzahl.
    \item \textbf{bonus-points}=\texttt{n}: Bonuspunkte.
    \item \textbf{level}=\texttt{n}: Schwierigkeitsgrad (1--5, dargestellt durch Sterne).
    \item \textbf{subtitle}=\texttt{Text}: Untertitel.
    \item \textbf{icon}=\texttt{fa-Name}: FontAwesome-Symbol (erfordert \texttt{exerciseicons}).
    \item \textbf{topic}=\texttt{Thema}: Thema zur Sortierung bzw. Auswahl.
    \item \textbf{grade}=\texttt{Stufe}: Klassenstufe.
    \item \textbf{subject}=\texttt{Fach}: Schulfach.
    \item \textbf{ID}=\texttt{Kennung}: Kennung für \texttt{\textbackslash exercisenumber\{Kennung\}}.
    \item \textbf{template}=\texttt{Name}: Darstellungsstil.
\end{itemize}

\subsubsection{Aufgabenstile (\texttt{exstyle})}

Die Option \textbf{exstyle}=\texttt{Stil} legt das Erscheinungsbild der Aufgaben fest.

\textit{Stile mit Box:} \texttt{block}, \texttt{capsule} (Standard), \texttt{capsule-outline}, \texttt{tile}, \texttt{fold}, \texttt{plain}, \texttt{frame}, \texttt{curve}, \texttt{sticker}, \texttt{pastel}, \texttt{card}, \texttt{bar}.

\textit{Stile mit Plakette:} \texttt{badge}, \texttt{badge-outline}, \texttt{digit}, \texttt{digit-outline}, \texttt{digit-inline}, \texttt{digit-outline-inline}, \texttt{counter}, \texttt{counter-inline}, \texttt{counter-outline}, \texttt{counter-outline-inline}.

\textit{Linienstile:} \texttt{line}, \texttt{line-outline}, \texttt{line-circle}, \texttt{line-circle-outline}.

\textit{Sonderstile:} \texttt{inline}, \texttt{shell}, \texttt{section}, \texttt{subsection}, \texttt{item}, \texttt{rule}, \texttt{separator}.

\subsubsection{Globale Optionen}

\begin{itemize}
    \item \textbf{exerciseicons}: aktiviert die Anzeige der Symbole.
    \item \textbf{answers}: zeigt die Lösungen unmittelbar nach jeder Aufgabe an.
    \item \textbf{answersonly}: zeigt ausschließlich die Lösungen an.
    \item \textbf{shuffle}: ordnet die Antworten der Multiple-Choice-Aufgaben zufällig an.
    \item \textbf{solstyle}=\texttt{Stil}: Stil der Lösungen (Standard: \texttt{inline}).
    Werte: \texttt{inline}, \texttt{dots}, \texttt{lines}, \texttt{box}.
    \item \textbf{solrotate}: stellt die Lösungen kopfüber dar (Drehung um 180°).
\end{itemize}

\subsubsection{Aufgabe mit Lösung}

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\begin{exercise}[
  points=4,
  level=2,
  subtitle={Berechnung der Ableitung}
]
Berechne die Ableitung von
$f(x) = x^3 - 2x + 1$.
\end{exercise}

\begin{solution}
Mit den Ableitungsregeln erhält man:
$f'(x) = 3x^2 - 2$.
\end{solution}
\end{codeside}
\tcblower
\begin{exercise}[
  points=4,
  level=2,
  subtitle={Berechnung der Ableitung}
]
Berechne die Ableitung von $f(x) = x^3 - 2x + 1$.
\end{exercise}
\xsimsetup{solution/print=true}
\begin{solution}
Mit den Ableitungsregeln erhält man: $f'(x) = 3x^2 - 2$.
\end{solution}
\xsimsetup{solution/print=false}
\end{sidebyside}

\subsubsection{Multiple-Choice-Aufgaben}

\begin{itemize}
    \item \textbf{choices}\texttt{(\textit{n})}: Multiple-Choice-Aufgabe mit einer einzigen Antwort, in \textit{n} Spalten.
    \texttt{\textbackslash choice} für eine Antwortmöglichkeit, \texttt{\textbackslash choice[\textbackslash correct]} für die richtige Antwort.
    \item \textbf{checkboxes}\texttt{(\textit{n})}: Multiple-Choice-Aufgabe mit mehreren richtigen Antworten.
    \texttt{\textbackslash checkbox} für eine Antwortmöglichkeit, \texttt{\textbackslash checkbox[\textbackslash correct*]} für eine richtige Antwort.
\end{itemize}

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\begin{exercise}[points=1]
 Was ist die Ableitung von $f(x)=x^2$?
\begin{choices}(2)
  \choice[\correct] $x\mapsto 2x$
  \choice $x\mapsto x$
  \choice $x\mapsto x^2$
  \choice $x\mapsto 2$
 \end{choices}
\end{exercise}
\end{codeside}
\tcblower
\begin{exercise}[points=1]
 Was ist die Ableitung von $f(x)=x^2$?
\begin{choices}(2)
  \choice[\correct] $x\mapsto 2x$
  \choice $x\mapsto x$
  \choice $x\mapsto x^2$
  \choice $x\mapsto 2$
 \end{choices}
\end{exercise}
\end{sidebyside}

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\begin{exercise}[points=2]
 Kreuze die wahren Aussagen an.
\begin{checkboxes}(1)
  \checkbox[\correct*] $\pi > 3$
  \checkbox $\sqrt{2}$ ist rational
  \checkbox[\correct*] $0! = 1$
  \checkbox $\ln(1) = 1$
 \end{checkboxes}
\end{exercise}
\end{codeside}
\tcblower
\begin{exercise}[points=2]
 Kreuze die wahren Aussagen an.
\begin{checkboxes}(1)
  \checkbox[\correct*] $\pi > 3$
  \checkbox $\sqrt{2}$ ist rational
  \checkbox[\correct*] $0! = 1$
  \checkbox $\ln(1) = 1$
 \end{checkboxes}
\end{exercise}
\end{sidebyside}

\section{Programmcode}

Über die Klassenoptionen stehen zwei Systeme zur Auswahl:
\begin{itemize}
    \item \textbf{listings} (Standard): Syntaxhervorhebung über das Paket \texttt{listings}.
    \item \textbf{minted}: Syntaxhervorhebung über \texttt{minted} (erfordert Python, Pygments und \texttt{--shell-escape}).
\end{itemize}

\subsection{Umgebung \texttt{code}}

\begin{codeside}[numbers=none]{latex}
\begin[Optionen]{code}{Sprache}[Titel][Boxstil]
... Code ...
\end{code}
\end{codeside}

\begin{itemize}
    \item \texttt{Optionen}: Optionen von \texttt{listings}/\texttt{minted}.
    \item \texttt{Sprache}: \texttt{python}, \texttt{latex}, \texttt{c++} usw.
    \item \texttt{Titel}: optionaler Titel.
    \item \texttt{Boxstil}: Stil der Box.
\end{itemize}

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\begin{code}{python}[Fakultätsfunktion]
def fact(n):
    if n <= 1:
        return 1
    return n * fact(n - 1)
\end{code}
\end{codeside}
\tcblower
\begin{code}[numbers=none]{python}[Fakultätsfunktion]
def fact(n):
    if n <= 1:
        return 1
    return n * fact(n - 1)
\end{code}
\end{sidebyside}

\subsection{Stile der Codeboxen (\texttt{codestyle})}

Die Option \textbf{codestyle}=\texttt{Stil} legt das Erscheinungsbild der Codeboxen fest.
Werte: \texttt{plain}, \texttt{line}, \texttt{lines}, \texttt{bar}, \texttt{frame}, \texttt{shadow} (Standard).

\subsection{Code-Optionen}

\begin{itemize}
    \item \textbf{codewidth}=\texttt{Faktor}: Breite der Codeblöcke (Standard: 1.0).
    \item \textbf{centeredcode}: zentriert die Codeblöcke.
\end{itemize}

\subsection{Zusätzliche Befehle}

\begin{itemize}
    \item \texttt{\textbackslash codeinline[\textit{Sprache}]\{\textit{Code}\}}: Inline-Code mit Syntaxhervorhebung.
    \item \texttt{\textbackslash codeinput[\textit{Opt}]\{\textit{Sprache}\}\{\textit{Datei}\}[\textit{Titel}][\textit{Stil}]}: importiert Code aus einer Datei.
\end{itemize}

\begin{sidebyside}[righthand width=.45\linewidth]
\begin{codeside}[numbers=none]{latex}
Die Funktion \codeinline[python]{range(n)}
erzeugt die ganzen Zahlen von $0$ bis $n-1$.
\end{codeside}
\tcblower
Die Funktion \codeinline[python]{range(n)} erzeugt die ganzen Zahlen von $0$ bis $n-1$.
\end{sidebyside}

\subsection{Umgebung \texttt{pseudocode}}

Basierend auf \texttt{algpseudocode}. Im Deutschen werden die Schlüsselwörter automatisch übersetzt.

Spezielle Befehle:
\begin{itemize}
    \item \texttt{\textbackslash Gets}: Zuweisungspfeil $\leftarrow$.
    \item \texttt{\textbackslash To}: Schlüsselwort »bis« in Schleifen.
\end{itemize}

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\begin{pseudocode}{Binäre Suche}
\Require Sortiertes Feld $T$, Wert $v$
\Ensure Index von $v$ oder $-1$
\State $lo \Gets 0$, $hi \Gets |T| - 1$
\While{$lo \leq hi$}
    \State $mid \Gets (lo + hi) / 2$
    \If{$T[mid] = v$}
        \State \Return $mid$
    \ElsIf{$T[mid] < v$}
        \State $lo \Gets mid + 1$
    \Else
        \State $hi \Gets mid - 1$
    \EndIf
\EndWhile
\State \Return $-1$
\end{pseudocode}
\end{codeside}
\tcblower
\begin{pseudocode}{Binäre Suche}
\Require Sortiertes Feld $T$, Wert $v$
\Ensure Index von $v$ oder $-1$
\State $lo \Gets 0$, $hi \Gets |T| - 1$
\While{$lo \leq hi$}
    \State $mid \Gets (lo + hi) / 2$
    \If{$T[mid] = v$}
        \State \Return $mid$
    \ElsIf{$T[mid] < v$}
        \State $lo \Gets mid + 1$
    \Else
        \State $hi \Gets mid - 1$
    \EndIf
\EndWhile
\State \Return $-1$
\end{pseudocode}
\end{sidebyside}

\section{Hinweisboxen}

Farbige Boxen mit Symbolen, die die Aufmerksamkeit lenken.

\subsection{Verfügbare Umgebungen}

\begin{itemize}
    \item \textbf{note}: allgemeine Bemerkungen (\faEdit).
    \item \textbf{info}: ergänzende Informationen (\faInfoCircle).
    \item \textbf{warning}: Warnungen (\faExclamationTriangle).
    \item \textbf{important}: zentrale Punkte (\faExclamationCircle).
    \item \textbf{tip}: Tipps und Kniffe (\faLightbulb).
    \item \textbf{reminder}: Merkkasten (\faBookmark).
    \item \textbf{summary}: Zusammenfassung (\faClipboardList).
    \item \textbf{toolbox}: Materialien und Voraussetzungen (\faTools).
    \item \textbf{method}: Vorgehensweise (\faCogs).
    \item \textbf{activity}: praktische Aktivität (\faPuzzlePiece).
\end{itemize}

\subsection{Stile der Hinweisboxen}

Die Option \textbf{adstyle}=\texttt{Stil} legt das globale Erscheinungsbild der Hinweisboxen fest.
Werte: \texttt{modern}, \texttt{material}, \texttt{soft} (Standard), \texttt{classic}, \texttt{professional}, \texttt{minimal}.

\subsection{Optionen der Hinweisboxen}

Jede Umgebung akzeptiert Schlüssel-Wert-Paare:
\begin{itemize}
    \item \textbf{title}=\texttt{Text}: benutzerdefinierter Titel.
    \item \textbf{subtitle}=\texttt{Text}: Untertitel.
    \item \textbf{icon}=\texttt{\textbackslash faSymbol}: benutzerdefiniertes Symbol.
    \item \textbf{style}=\texttt{Name}: lokaler Stil (überschreibt den globalen Stil).
\end{itemize}

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\begin{warning}[title=Achtung, icon=\faSkull]
  Niemals durch null teilen!
\end{warning}
\begin{tip}
  Zuerst ausklammern.
\end{tip}
\end{codeside}
\tcblower
\begin{warning}[title=Achtung, icon=\faSkull]
  Niemals durch null teilen!
\end{warning}
\begin{tip}
  Zuerst ausklammern.
\end{tip}
\end{sidebyside}

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\begin{method}[title=Lösen einer Gleichung]
  1. Unbekannte isolieren.
  2. Vereinfachen.
\end{method}
\begin{activity}[subtitle=In Gruppenarbeit]
  Konstruiere ein gleichseitiges Dreieck.
\end{activity}
\end{codeside}
\tcblower
\begin{method}[title=Lösen einer Gleichung]
  1. Unbekannte isolieren.
  2. Vereinfachen.
\end{method}
\begin{activity}[subtitle=In Gruppenarbeit]
  Konstruiere ein gleichseitiges Dreieck.
\end{activity}
\end{sidebyside}

\section{Inhaltsanordnung}

\subsection{Absolute Positionierung}

\texttt{\textbackslash positionobject\{\textit{x}\}\{\textit{y}\}\{\textit{scale}\}\{\textit{Inhalt}\}}: platziert Inhalt an den Koordinaten (\textit{x}, \textit{y}) ausgehend von der oberen linken Ecke.

\subsection{Zweispaltiges Layout}

\texttt{\textbackslash splitcontent[\textit{w1}][\textit{gap}]\{\textit{Spalte1}\}\{\textit{Spalte2}\}}: teilt den horizontalen Raum auf.

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\splitcontent[0.4][0.05]{%
  \textbf{Linke Spalte (40\%)}

  Erster Absatz...
}{%
  \textbf{Rechte Spalte (55\%)}

  Zweiter Absatz...
}
\end{codeside}
\tcblower
\splitcontent[0.4][0.05]{%
  \textbf{Linke Spalte (40\%)}

  Erster Absatz mit etwas Text zur Veranschaulichung des Layouts.
}{%
  \textbf{Rechte Spalte (55\%)}

  Zweiter Absatz mit weiterführendem Inhalt.
}
\end{sidebyside}

\subsection{Umgebung \texttt{sidebyside}}

Erzeugt zwei \texttt{tcolorbox}-Boxen nebeneinander. \texttt{\textbackslash tcblower} trennt die Spalten.

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\begin{sidebyside}[
  title=Vergleich,
  righthand width=.45\linewidth
]
  \textbf{Vorteile}
  \begin{itemize}
    \item Einfach
    \item Schnell
  \end{itemize}
\tcblower
  \textbf{Nachteile}
  \begin{itemize}
    \item Begrenzt
  \end{itemize}
\end{sidebyside}
\end{codeside}
\tcblower
\begin{sidebyside}[title=Vergleich, righthand width=.45\linewidth]
  \textbf{Vorteile}
  \begin{itemize}
    \item Einfach
    \item Schnell
  \end{itemize}
\tcblower
  \textbf{Nachteile}
  \begin{itemize}
    \item Begrenzt
  \end{itemize}
\end{sidebyside}
\end{sidebyside}

\subsection{Text mit Bild}

\texttt{\textbackslash textwithimage[*]\{\textit{w\_img}\}\{\textit{s\_img}\}\{\textit{Text}\}\{\textit{Pfad}\}}: kombiniert Text und Bild.
\texttt{*} stellt das Bild links dar.

\subsection{QR-Codes}

\texttt{\textbackslash withqrcode[*][\textit{Größe}]\{\textit{URL}\}\{\textit{Inhalt}\}}: QR-Code neben einem Inhalt.
\texttt{*} platziert den QR-Code rechts.

\begin{sidebyside}[righthand width=.5\linewidth]
\begin{codeside}[numbers=none]{latex}
\withqrcode{https://example.com}{%
  Scanne diesen QR-Code, um
  zur Website zu gelangen.
}
\end{codeside}
\tcblower
\withqrcode{https://example.com}{%
  Scanne diesen QR-Code, um zur Website zu gelangen.
}
\end{sidebyside}

\subsection{Gitter und Papierarten}

\begin{itemize}
    \item \texttt{\textbackslash grid[\textit{Farbe}]\{\textit{Breite}\}\{\textit{Höhe}\}}: Gitter 5\,mm × 5\,mm.
    \item \texttt{\textbackslash customgrid[\textit{Farbe}][\textit{dx}][\textit{dy}]\{\textit{Breite}\}\{\textit{Höhe}\}}: anpassbares Gitter.
    \item \texttt{\textbackslash frenchgrid[\textit{Farbe1}][\textit{Farbe2}]\{\textit{Breite}\}\{\textit{Höhe}\}}: Seyès-Lineatur (französische Schreibhilfe).
    \item \texttt{\textbackslash gridfill} / \texttt{\textbackslash gridfill*}: füllt die Seite mit einem Gitter.
    \item \texttt{\textbackslash notebook}, \texttt{\textbackslash nbminorgrid}, \texttt{\textbackslash nbmajorgrid}: Stile als Seitenhintergrund.
\end{itemize}

\begin{sidebyside}[righthand width=.5\linewidth]
\begin{codeside}[numbers=none]{latex}
\grid[blue!40]{4cm}{2cm}
\end{codeside}
\tcblower
\centering
\grid[blue!40]{4cm}{2cm}
\end{sidebyside}

\begin{sidebyside}[righthand width=.5\linewidth]
\begin{codeside}[numbers=none]{latex}
\frenchgrid{4cm}{2cm}
\end{codeside}
\tcblower
\centering
\frenchgrid{4cm}{2cm}
\end{sidebyside}

\subsection{Einfache Boxen}

\begin{itemize}
    \item \texttt{neobox}: Box mit Rahmen.
    \item \texttt{neobox*}: Box ohne sichtbaren Rahmen.
    \item \texttt{\textbackslash neocolorbox[\textit{Farbe}]\{\textit{Inhalt}\}}: einfache farbige Box.
    \item \texttt{\textbackslash inlinebox[\textit{Rahmen}][\textit{Hintergrund}][\textit{Text}]\{\textit{Inhalt}\}}: anpassbare Inline-Box.
\end{itemize}

\begin{sidebyside}
\begin{codeside}[numbers=none]{latex}
\begin{neobox}[title=Meine Box]
  Inhalt mit Rahmen.
\end{neobox}

\begin{neobox*}
  Inhalt ohne sichtbaren Rahmen.
\end{neobox*}
\end{codeside}
\tcblower
\begin{neobox}[title=Meine Box]
  Inhalt mit Rahmen.
\end{neobox}
\begin{neobox*}
  Inhalt ohne sichtbaren Rahmen.
\end{neobox*}
\end{sidebyside}

\subsection{Logos und Sondersymbole}

\begin{itemize}
    \item \texttt{\textbackslash AILogo[\textit{Optionen}]}: KI-Logo (Chip mit neuronalem Netz).
    \item \texttt{\textbackslash NoAILogo[\textit{Optionen}]}: Logo »Ohne KI« (durchgestrichener Chip).
    \item \texttt{\textbackslash documentcolor\{\textit{Farbe}\}}: ändert die Textfarbe für das gesamte Dokument.
\end{itemize}

\begin{sidebyside}[righthand width=.4\linewidth]
\begin{codeside}[numbers=none]{latex}
\AILogo \quad \NoAILogo
\end{codeside}
\tcblower
\centering
\AILogo \qquad \NoAILogo
\end{sidebyside}

\section{Bewertung und Korrektur}

\subsection{Bewertungswerkzeuge}

\begin{itemize}
    \item \texttt{\textbackslash gradingstrip[\textit{Gesamt}]}: Leiste für Note und Bemerkung.
    \item \texttt{\textbackslash mrk[*][\textit{Komm}]\{\textit{Pkt}\}}: Punkte am Seitenrand.
\end{itemize}

\begin{sidebyside}[righthand width=.65\linewidth]
\begin{codeside}[numbers=none]{latex}
\gradingstrip[20]
\end{codeside}
\tcblower
\gradingstrip[20]
\end{sidebyside}

\subsection{Antwortfelder}

\begin{itemize}
    \item \texttt{\textbackslash answerfield[\textit{Breite}]\{\textit{Zeilen}\}}: Feld mit farbigem Hintergrund.
    \item \texttt{\textbackslash answerframe[\textit{Breite}]\{\textit{Zeilen}\}}: eingerahmtes Feld.
    \item \texttt{\textbackslash vardots[\textit{Länge}]}: punktierte Linie.
    \item \texttt{\textbackslash lines[\textit{Zeichen}][\textit{Zeilenabstand}]\{\textit{n}\}}: zeichnet \textit{n} waagerechte Linien.
    \item \texttt{\textbackslash emptybox\{\textit{Breite}\}\{\textit{Höhe}\}}: leere Box für freie Antworten.
\end{itemize}

\begin{sidebyside}[righthand width=.5\linewidth]
\begin{codeside}[numbers=none]{latex}
Antwort: \answerfield[5cm]{1}
\end{codeside}
\tcblower
Antwort: \answerfield[5cm]{1}
\end{sidebyside}

\begin{sidebyside}[righthand width=.5\linewidth]
\begin{codeside}[numbers=none]{latex}
Begründung:
\answerframe{3}
\end{codeside}
\tcblower
Begründung:
\answerframe{3}
\end{sidebyside}

\begin{sidebyside}[righthand width=.5\linewidth]
\begin{codeside}[numbers=none]{latex}
Name: \vardots[4cm]

Datum: \vardots[3cm]
\end{codeside}
\tcblower
Name: \vardots[4cm]

Datum: \vardots[3cm]
\end{sidebyside}

\begin{sidebyside}[righthand width=.5\linewidth]
\begin{codeside}[numbers=none]{latex}
\lines{3}
\end{codeside}
\tcblower
\lines{3}
\end{sidebyside}

\subsection{Markierungen und Symbole}

\begin{multicols}{2}
  \begin{itemize}
    \item \texttt{\textbackslash cmark}: \cmark{} (grün).
    \item \texttt{\textbackslash xmark}: \xmark{} (rot).
    \item \texttt{\textbackslash unchecked}: $\square$.
    \item \texttt{\textbackslash done}: $\rlap{$\square$}{\raisebox{1pt}{\large\hspace{1pt}\cmark}\hspace{-2.5pt}}$.
    \item \texttt{\textbackslash wontfix}: $\rlap{$\square$}{\large\hspace{1pt}\color{red}\boldsymbol{\times}}$.
  \end{itemize}
\end{multicols}

\begin{sidebyside}[righthand width=.4\linewidth]
\begin{codeside}[numbers=none]{latex}
\begin{itemize}
  \unchecked Offene Aufgabe
  \done Erledigte Aufgabe
  \wontfix Verworfene Aufgabe
\end{itemize}
\end{codeside}
\tcblower
\begin{itemize}
  \unchecked Offene Aufgabe
  \done Erledigte Aufgabe
  \wontfix Verworfene Aufgabe
\end{itemize}
\end{sidebyside}

\subsection{Kompetenzbewertung}

\texttt{\textbackslash competencies\{\textit{Komp1}\textbackslash\textbackslash \textit{Komp2}...\}}: Bewertungstabelle mit vier Stufen.

\begin{sidebyside}[righthand width=.55\linewidth]
\begin{codeside}[numbers=none]{latex}
\competencies{
  Ableitungen berechnen \\
  Gleichungen lösen \\
  Beweise verfassen
}
\end{codeside}
\tcblower
\competencies{
  Ableitungen berechnen \\
  Gleichungen lösen \\
  Beweise verfassen
}
\end{sidebyside}

\section{Mathematische Befehle}

\subsection{Hervorhebung}

\begin{itemize}
    \item \texttt{\textbackslash mhl[\textit{Farbe}]\{\textit{Ausdruck}\}}: hebt den Ausdruck farbig hervor.
    \item \texttt{\textbackslash mc[\textit{Farbe}]\{\textit{Ausdruck}\}}: färbt den Ausdruck ein.
    \item \texttt{\textbackslash mathbox<\textit{Hintergrund}>[\textit{Rahmen}]\{\textit{Inhalt}\}}: rahmt mathematischen Inhalt ein.
\end{itemize}

\begin{sidebyside}[righthand width=.35\linewidth]
\begin{codeside}[numbers=none]{latex}
$f(x) = \mhl[yellow!30]{x^2} + \mc[blue]{3x} - 1$
\end{codeside}
\tcblower
$f(x) = \mhl[yellow!30]{x^2} + \mc[blue]{3x} - 1$
\end{sidebyside}

\begin{sidebyside}[righthand width=.35\linewidth]
\begin{codeside}[numbers=none]{latex}
Die Formel $\mathbox{E = mc^2}$ ist berühmt.

Mit Farben:
$\mathbox<yellow!20>[red]{a^2+b^2=c^2}$
\end{codeside}
\tcblower
Die Formel $\mathbox{E = mc^2}$ ist berühmt.

Mit Farben: $\mathbox<yellow!20>[red]{a^2+b^2=c^2}$
\end{sidebyside}

\subsection{APMEP-Unterstützung}

Mit der Option \texttt{apmep} stehen folgende, an die französischen Notationskonventionen angelehnten Befehle zur Verfügung:
\begin{itemize}
    \item Vektoren: \texttt{\textbackslash vectt\{AB\}}.
    \item Koordinatensysteme: \texttt{\textbackslash Oij}, \texttt{\textbackslash Oijk}, \texttt{\textbackslash Ouv}.
    \item Symbole: \texttt{\textbackslash euro}, \texttt{\textbackslash cg}, \texttt{\textbackslash cd}, \texttt{\textbackslash pg}, \texttt{\textbackslash pp}, \texttt{\textbackslash barre\{x\}}.
\end{itemize}

\begin{sidebyside}[righthand width=.4\linewidth]
\begin{codeside}[numbers=none]{latex}
Der Vektor $\vectt{AB}$ im Koordinatensystem \Oij.

Es gilt $x \pg 0$ und $y \pp 5$.

Der Mittelwert beträgt $\barre{x} = 12$.
\end{codeside}
\tcblower
Der Vektor $\vectt{AB}$ im Koordinatensystem \Oij.

Es gilt $x \pg 0$ und $y \pp 5$.

Der Mittelwert beträgt $\barre{x} = 12$.
\end{sidebyside}

\section{Spezielle Werkzeuge}

\subsection{Bäume und Graphen}

\begin{itemize}
    \item \textbf{neotree}: Umgebung für Baumstrukturen (basiert auf \texttt{forest}).
    Mit der Option \texttt{w=\textit{Wert}} lässt sich ein Gewicht an einen Ast anfügen.
    \item \texttt{\textbackslash neograph}: Befehl für Graphen (\texttt{lualatex} erforderlich).
\end{itemize}

\begin{sidebyside}[righthand width=.4\linewidth]
\begin{codeside}[numbers=none]{latex}
\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}
\end{codeside}
\tcblower
\begin{center}
\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}
\end{center}
\end{sidebyside}

\subsection{Mathematisches Gitter (\texttt{mathgrid})}

Umgebung zur Anordnung von Gleichungsblöcken in einem Gitter.
\begin{itemize}
    \item \texttt{\textbackslash begin\{mathgrid\}\{\textit{n}\}}: Gitter mit \textit{n} Spalten.
    \item \texttt{\textbackslash neoline}: neue Zeile.
    \item \texttt{\textbackslash neocol[\textit{span}]\{\textit{Inhalt}\}}: Spalte mit \texttt{align*}.
\end{itemize}

\begin{sidebyside}[righthand width=.5\linewidth]
\begin{codeside}[numbers=none]{latex}
\begin{mathgrid}{2}
  \neoline
  \neocol{
    A &= 2 + 3 \\
    A &= 5
  }
  \neocol{
    B &= 4 \times 2 \\
    B &= 8
  }
\end{mathgrid}
\end{codeside}
\tcblower
\begin{mathgrid}{2}
  \neoline
  \neocol{
    A &= 2 + 3 \\
    A &= 5
  }
  \neocol{
    B &= 4 \times 2 \\
    B &= 8
  }
\end{mathgrid}
\end{sidebyside}

\section{Randnotizen}

Aktiviert über \texttt{notes=\textit{dim}}, \texttt{leftnotes=\textit{dim}} oder \texttt{rightnotes=\textit{dim}}.

\begin{itemize}
    \item \texttt{\textbackslash tdnote[\textit{Optionen}]\{\textit{Text}\}}: Notiz am Seitenrand.
    \item \texttt{\textbackslash boxnote[\textit{Bezeichner}]\{\textit{Text}\}} + \texttt{\textbackslash tdmark[\textit{Bezeichner}]}: Notiz, die an einer bestimmten Stelle verankert ist.
\end{itemize}

\begin{code}{latex}
\documentclass[notes=2.5cm]{neoschool}  % Präambel

Dies ist wichtig\tdnote{Merken!}.  % Im Dokument

\boxnote[hyp]{Zentrale Voraussetzung}
\begin{theorem}
  \tdmark[hyp] Wenn $f$ auf $[a,b]$ stetig ist...
\end{theorem}
\end{code}

\end{document}
