texlive[76162] Master/texmf-dist: neoschool (27aug25)

commits+karl at tug.org commits+karl at tug.org
Wed Aug 27 22:12:29 CEST 2025


Revision: 76162
          https://tug.org/svn/texlive?view=revision&revision=76162
Author:   karl
Date:     2025-08-27 22:12:29 +0200 (Wed, 27 Aug 2025)
Log Message:
-----------
neoschool (27aug25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/neoschool/README.md
    trunk/Master/texmf-dist/doc/latex/neoschool/neoschool-fr.pdf
    trunk/Master/texmf-dist/doc/latex/neoschool/neoschool-fr.tex
    trunk/Master/texmf-dist/doc/latex/neoschool/neoschool.pdf
    trunk/Master/texmf-dist/doc/latex/neoschool/neoschool.tex
    trunk/Master/texmf-dist/tex/latex/neoschool/neoschool.cls

Modified: trunk/Master/texmf-dist/doc/latex/neoschool/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/neoschool/README.md	2025-08-27 20:12:20 UTC (rev 76161)
+++ trunk/Master/texmf-dist/doc/latex/neoschool/README.md	2025-08-27 20:12:29 UTC (rev 76162)
@@ -1,4 +1,4 @@
-README file for neoschool class 1.0.4 [2025/07/20]
+README file for neoschool class 1.0.5 [2025/08/27]
 
 neoschool is a document class designed for secondary school teachers. Features pre-configured templates, color themes, and specialized environments for educational documents. Simplifies LaTeX usage in education through integration of common packages and multilingual support.
 

Modified: trunk/Master/texmf-dist/doc/latex/neoschool/neoschool-fr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/neoschool/neoschool-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/neoschool/neoschool-fr.tex	2025-08-27 20:12:20 UTC (rev 76161)
+++ trunk/Master/texmf-dist/doc/latex/neoschool/neoschool-fr.tex	2025-08-27 20:12:29 UTC (rev 76162)
@@ -4,8 +4,8 @@
 ]{neoschool}
 
 \title{La classe \texttt{neoschool}}
-\author{Version : 1.0.4 \quad\textemdash{}\quad Auteur : Razik Ikhlef}
-\date{20/07/2025}
+\author{Version : 1.0.5 \quad\textemdash{}\quad Auteur : Razik Ikhlef}
+\date{27/08/2025}
 
 \begin{document}
 

Modified: trunk/Master/texmf-dist/doc/latex/neoschool/neoschool.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/neoschool/neoschool.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/neoschool/neoschool.tex	2025-08-27 20:12:20 UTC (rev 76161)
+++ trunk/Master/texmf-dist/doc/latex/neoschool/neoschool.tex	2025-08-27 20:12:29 UTC (rev 76162)
@@ -3,8 +3,8 @@
 ]{neoschool}
 
 \title{The \texttt{neoschool} Class}
-\author{Version : 1.0.4 \quad\textemdash{}\quad Author : Razik Ikhlef}
-\date{2025/07/20}
+\author{Version : 1.0.5 \quad\textemdash{}\quad Author : Razik Ikhlef}
+\date{2025/08/27}
 
 \begin{document}
 \maketitle

Modified: trunk/Master/texmf-dist/tex/latex/neoschool/neoschool.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/neoschool/neoschool.cls	2025-08-27 20:12:20 UTC (rev 76161)
+++ trunk/Master/texmf-dist/tex/latex/neoschool/neoschool.cls	2025-08-27 20:12:29 UTC (rev 76162)
@@ -7,7 +7,7 @@
 % from the following web page: https://apps.edulatex.xyz/neoschool/
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{neoschool}[2025/07/20 v1.0.4]
+\ProvidesClass{neoschool}[2025/08/27 v1.0.5]
 
 \RequirePackage[table,svgnames,dvipsnames,x11names]{xcolor}
 
@@ -177,6 +177,7 @@
 \newif\ifneo at onlytitle
 \newif\ifneo at onlytitleright
 \newif\ifneo at bubbles
+\newif\ifneo at topbubbles
 \newif\ifneo at shortbubbles
 \newif\ifneo at mockexam
 \newif\ifneo at shortexam
@@ -205,6 +206,7 @@
 \newif\ifneo at titlemidrule
 \newif\ifneo at titlefullrule
 \newif\ifneo at titleornament
+\newif\ifneo at blocksol
 
 %% Package specific options
 \newif\ifneo at apmep
@@ -451,6 +453,8 @@
 \DeclareOption{amslikethm}{\neo at setupstyle{amslikethm}}
 \DeclareOption{elegantthm}{\neo at setupstyle{elegantthm}}
 
+\DeclareOption{blocksol}{\neo at blocksoltrue}
+
 \DeclareStringOption[colorfuln]{lststyle}
 
 %% ==============================================================================
@@ -528,6 +532,7 @@
 \DeclareOption{onlytitle}{\neo at setuptitle{onlytitle}}
 \DeclareOption{onlytitleright}{\neo at setuptitle{onlytitleright}}
 \DeclareOption{bubbles}{\neo at setuptitle{bubbles}}
+\DeclareOption{topbubbles}{\neo at setuptitle{topbubbles}}
 \DeclareOption{shortbubbles}{\neo at setuptitle{shortbubbles}}
 \DeclareOption{mockexam}{\neo at setuptitle{mockexam}}
 \DeclareOption{shortexam}{\neo at setuptitle{shortexam}}
@@ -659,7 +664,7 @@
 %% Margin Options
 %% ==============================================================================
 
-\DeclareStringOption[.25cm]{margin}
+\DeclareStringOption[1cm]{margin}
 \DeclareStringOption{notes}
 
 %% ==============================================================================
@@ -668,6 +673,7 @@
 
 % Solution options
 \DeclareBoolOption{answers}
+\DeclareBoolOption{answersonly}
 \DeclareOption{shuffle}{\neo at shuffletrue}
 
 %% ==============================================================================
@@ -744,6 +750,12 @@
 \DeclareOption{compact}{\neo at compacttrue}
 
 %% ==============================================================================
+%% Inline Admonitions
+%% ==============================================================================
+
+\DeclareBoolOption{inlineadmonition}
+
+%% ==============================================================================
 %% Output Options
 %% ==============================================================================
 
@@ -850,18 +862,29 @@
 %% ==============================================================================
 
 \newcommand{\neo at setupmargins}[1]{%
-    \KOMAoptions{%
-        DIV=calc,
-        DIV=#1,
-        BCOR=0pt,
-        headinclude=true,
-        footinclude=true
-    }%
+    \ifdim\paperwidth>\paperheight
+        \KOMAoptions{%
+            DIV=calc,
+            DIV=14,
+            BCOR=0pt,
+            headinclude=true,
+            footinclude=true
+        }%
+        \areaset{27cm}{20.5cm}
+    \else
+        \KOMAoptions{%
+            DIV=calc,
+            DIV=#1,
+            BCOR=0pt,
+            headinclude=true,
+            footinclude=true
+        }%
+        \areaset{19cm}{29.25cm}
+    \fi
 }
 
 % Intentionally small margins for teaching materials - ignore typearea warning
 \neo at setupmargins{last}
-\areaset{19cm}{29.25cm}
 \setlength{\headheight}{27pt}
 \setlength{\footskip}{27pt}
 
@@ -1076,7 +1099,7 @@
 
 % Adjust spacing for two-column mode
 \if at twocolumn
-    \setlength{\columnsep}{1em}
+    \setlength{\columnsep}{2em}
 \fi
 
 %% ==============================================================================
@@ -1293,13 +1316,14 @@
 \edef\mathface{\expandonce{\neoschool at mathface}}
 \edef\facefamily{\expandonce{\neoschool at facefamily}}
 
+\RequirePackage{iftex}
+
+\ifPDFTeX
 % PdfLaTeX configuration
-\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0
 \RequirePackage[utf8]{inputenc}
 \RequirePackage[T1]{fontenc}
 
 \expandafter\ifblank\expandafter{\facefamily}{%
-    % Load individual fonts if facefamily is not defined
     \expandafter\ifblank\expandafter{\mathface}{\ifneo at mathastext
     \RequirePackage[italic,eulergreek]{mathastext}\else\RequirePackage{newpxmath}\fi}{\RequirePackage[\neoschool at mathfaceoptions]{\neoschool at mathface}}
 
@@ -1307,11 +1331,11 @@
     \expandafter\ifblank\expandafter{\sansface}{}{\RequirePackage[\neoschool at sansfaceoptions]{\neoschool at sansface}}
     \expandafter\ifblank\expandafter{\monoface}{}{\RequirePackage[\neoschool at monofaceoptions]{\neoschool at monoface}}
 }{
-    % Load font family if defined
     \RequirePackage[\neoschool at facefamilyoptions]{\neoschool at facefamily}
 }
-\else
-% % LuaLaTeX configuration
+
+\else\ifXeTeX
+% XeLaTeX configuration
 \RequirePackage{fontspec}
 
 \ifneo at scale
@@ -1319,36 +1343,76 @@
   \defaultfontfeatures{Scale=MatchLowercase}
 \fi
 
+\defaultfontfeatures{Ligatures=TeX}
+
+\expandafter\ifblank\expandafter{\mathface}{%
+    \ifneo at mathastext
+        \RequirePackage[italic,eulergreek]{mathastext}
+    \fi
+}{%
+    \RequirePackage{\mathface}
+}
+
+\expandafter\ifblank\expandafter{\mainface}{%
+}{%
+    \setmainfont[\neoschool at mainfaceoptions]{\neoschool at mainface}
+}
+
+\expandafter\ifblank\expandafter{\sansface}{%
+}{%
+    \setsansfont[\neoschool at sansfaceoptions]{\neoschool at sansface}
+}
+
+\expandafter\ifblank\expandafter{\monoface}{%
+}{%
+    \setmonofont[\neoschool at monofaceoptions]{\neoschool at monoface}
+}
+
+
+\else\ifLuaTeX
+% LuaLaTeX configuration
+\RequirePackage{fontspec}
+
+\ifneo at scale
+  \defaultfontfeatures[\rmfamily]{Scale=1}
+  \defaultfontfeatures{Scale=MatchLowercase}
+\fi
+
 \defaultfontfeatures{Ligatures=TeX,Renderer=HarfBuzz}
 
 \expandafter\ifblank\expandafter{\mathface}{%
     \ifneo at mathastext
-    \RequirePackage[italic,eulergreek]{mathastext}
+    \RequirePackage[italic,eulergreeks]{mathastext}
     \else
     \RequirePackage{newpxmath}
     \fi
   }{%
-    \RequirePackage{\mathface}
+      \RequirePackage{unicode-math}
+      \setmathfont{\mathface}
   }
+
 \expandafter\ifblank\expandafter{\mainface}{%
-    \setmainfont{TeX Gyre PagellaX}
+    \setmainfont{TeX Gyre Pagella}
   }{%
     \setmainfont[\neoschool at mainfaceoptions]{\neoschool at mainface}
   }
+
 \expandafter\ifblank\expandafter{\sansface}{%
     \setsansfont{TeX Gyre Heros}
   }{%
     \setsansfont[\neoschool at sansfaceoptions]{\neoschool at sansface}
   }
+
 \expandafter\ifblank\expandafter{\monoface}{%
-    \setmonofont{Cascadia Code}
+    \setmonofont{TeX Gyre Cursor}
   }{%
     \setmonofont[\neoschool at monofaceoptions]{\neoschool at monoface}
   }
-\fi
 
-\RequirePackage{bm} % Bold Math
+\fi\fi\fi
 
+\RequirePackage{bm}
+
 % Common configuration
 \ifneo at sfbody
     \renewcommand{\familydefault}{\sfdefault}
@@ -2405,7 +2469,7 @@
             {\neo at header@school}
             {\@date}
         \end{tikzpicture}%
-        \if at twocolumn\vspace{0.85\neo at headerheight}\else\vspace{0.75\neo at headerheight}\fi%
+        \if at twocolumn\vspace{0.85\neo at headerheight}\else\vspace{0.5\neo at headerheight}\fi%
     }
 
     \AtBeginDocument{%
@@ -2458,8 +2522,7 @@
 
         \if at twocolumn\vspace{\neo at headerheight}\else\vspace{0.95\neo at headerheight}\fi%
 
-        \ifx\neoschool at totalpoints\@empty\gradingstrip\else\gradingstrip[\neoschool at totalpoints]\fi
-        \vspace{1.5em}%
+        \if at twocolumn\vspace{1.5em}\else\vspace{.5em}\fi%5em}%
     }
 
     \AtBeginDocument{%
@@ -2495,7 +2558,7 @@
         \if at twocolumn\vspace{\neo at headerheight}\else\vspace{0.95\neo at headerheight}\fi%
 
         \ifx\neoschool at totalpoints\@empty\gradingstrip\else\gradingstrip[\neoschool at totalpoints]\fi
-        \vspace{1.5em}%
+        \if at twocolumn\vspace{1em}\else\vspace{.25em}\fi%
     }
 
     \AtBeginDocument{%
@@ -2594,7 +2657,7 @@
         \end{tcolorbox}
 
         \ifx\neoschool at totalpoints\@empty\gradingstrip\else\gradingstrip[\neoschool at totalpoints]\fi
-        \vspace{2em}
+        \if at twocolumn\vspace{2em}\else\vspace{1em}\fi%
     }
 
     \AtBeginDocument{%
@@ -2740,7 +2803,7 @@
             {\color{\neoschool at headfootcolor}%
                 \rule{\linewidth}{0.5pt}}
         \end{center}
-        \vspace{10mm}%
+        \if at twocolumn\vspace{16mm}\else\vspace{8mm}\fi%
     }
 
     \AtBeginDocument{%
@@ -2780,7 +2843,7 @@
                     anchor=center,
                     align=center,
                     text width={\dimexpr\paperwidth-2\sideWidth-0.25cm},
-                    font=\large
+                    font=\Large
                 ] at ([yshift=-11mm]current page.north)
             {\color{\neoschool at titlecolor}%
                     \csname\neoschool at titlestyle\endcsname%
@@ -2797,7 +2860,7 @@
             {\neo at header@school\\[1mm]
                     \neo at header@level};
         \end{tikzpicture}%
-        \vspace{2em}%
+        \if at twocolumn\vspace{3.5em}\else\vspace{.25em}\fi%
     }
 
     \AtBeginDocument{%
@@ -2874,8 +2937,8 @@
             \path let \p1=(current page.east) in node[
                     anchor=center,
                     align=center,
-                    text width={\dimexpr\paperwidth-2\sideWidth-2cm},
-                    font=\Large
+                    text width={\dimexpr\paperwidth-2\sideWidth-0.25cm},
+                    font=\large
                 ] at ([yshift=-11mm]current page.north)
             {\color{\neoschool at titlecolor}%
                     \csname\neoschool at titlestyle\endcsname%
@@ -2893,7 +2956,7 @@
                 ] at ([xshift=-0.75cm,yshift=-11mm]current page.north east)
             {\neo at header@level};
         \end{tikzpicture}%
-        \if at twocolumn\vspace{3em}\else\vspace{1.5em}\fi%
+        \if at twocolumn\vspace{3.5em}\else\vspace{.25em}\fi%
     }
 
     \AtBeginDocument{%
@@ -2949,6 +3012,118 @@
     }
 
     \newcommand{\neo at bubblescontent}{%
+    \begin{tikzpicture}[remember picture,overlay]
+    \def\ellipseWidth{20cm}
+    \def\ellipseHeight{6cm}
+    \def\numBubbles{600}
+    \coordinate (ellipseCenter) at ([yshift=-4.5cm]current page.north);
+
+    \foreach \i in {1,...,\numBubbles} {%
+      \pgfmathsetmacro{\angle}{random()*360}
+      \pgfmathsetmacro{\rawradius}{rand}
+      \pgfmathsetmacro{\radius}{pow(\rawradius, 2)}
+      \pgfmathsetmacro{\x}{\radius*\ellipseWidth/2.25*cos(\angle)}
+      \pgfmathsetmacro{\y}{\radius*\ellipseHeight/2.25*sin(\angle)}
+
+      \pgfmathrandominteger{\sizeGroup}{1}{3}
+      \ifnum\sizeGroup=1
+        \pgfmathsetmacro{\bubbleRadius}{rand*12 + 5}
+      \else\ifnum\sizeGroup=2
+          \pgfmathsetmacro{\bubbleRadius}{rand*8 + 3}
+        \else
+          \pgfmathsetmacro{\bubbleRadius}{rand*4 + 1}
+        \fi\fi
+
+      \pgfmathsetmacro{\op}{0.4 + 0.2*rand}
+
+      \pgfmathrandominteger{\col}{0}{4}
+      \pgfmathrandominteger{\p}{50}{90}
+      \neo at drawbubble{\op}{\col}{\p}{\op}
+      {([xshift=\x, yshift=\y]ellipseCenter) circle (\bubbleRadius pt)}
+    }
+
+\node[
+   anchor=center,
+   inner sep=3mm,
+   fill=white,
+   fill opacity=0.85,
+   text opacity=1,
+   rounded corners=6pt,
+   preaction={
+       fill=black,
+       opacity=0.35,
+       transform canvas={xshift=0pt, yshift=-2pt}
+   }
+] at ([yshift=0cm]ellipseCenter) (titleNode)
+{
+     \begin{varwidth}{0.7\linewidth}
+   \centering \csname\neoschool at titlestyle\endcsname\csname\neoschool at titleweight\endcsname\csname\neoschool at titleshape\endcsname
+ \color{\neo at bubbles@colbubbles}\LARGE \@title
+   \ifx\@subtitle\empty\else
+     \par\vspace{-2mm}
+     {\normalsize\usekomafont{subtitle}{\@subtitle}}
+   \fi
+ \end{varwidth}
+};
+
+
+  \end{tikzpicture}%
+  \if at twocolumn\vspace{7cm}\else\vspace{5.25cm}\fi%
+}
+
+    \AtBeginDocument{%
+        \let\neo at oldmaketitle\maketitle
+        \renewcommand{\maketitle}{%
+            \if at twocolumn
+                \twocolumn[\neo at bubblescontent]%
+            \else
+                \neo at bubblescontent
+            \fi
+            \thispagestyle{firstpage}%
+        }%
+    }
+\fi
+
+%% Top Bubbles Header
+%% ----------------------------------
+\ifneo at topbubbles
+  \def\neo at bubbles@colbubbles{\neoschool at titlecolor}
+  \define at key[neo]{bubbles}{colbubbles}{\def\neo at bubbles@colbubbles{#1}}
+  \newcommand{\neo at bubbles@setkeys}{\setkeys[neo]{bubbles}}
+
+  \neo at bubbles@setkeys{%
+    colbubbles=\neoschool at titlecolor,
+  }
+
+    \newcommand{\neo at drawbubble}[5]{%
+        \pgfmathsetmacro{\opacityValue}{#1}
+        \ifneo at unicolor
+            \colorlet{currentcolor}{\neo at bubbles@colbubbles}
+        \else
+            \ifcase#2
+                \colorlet{currentcolor}{\neoschool at titlecolor}
+            \or
+                \colorlet{currentcolor}{\neoschool at headcolor}
+            \or
+                \colorlet{currentcolor}{theoremColor}
+            \or
+                \colorlet{currentcolor}{definitionColor}
+            \or
+                \colorlet{currentcolor}{methodColor}
+            \or
+                \colorlet{currentcolor}{applicationColor}
+            \fi
+        \fi
+        \colorlet{drawcolor}{currentcolor!75}
+        \fill[
+            color=currentcolor!#3!white,
+            draw=drawcolor,
+            line width=0.7pt,
+            opacity=#4
+        ] #5;
+    }
+
+    \newcommand{\neo at bubblescontent}{%
       \begin{tikzpicture}[remember picture,overlay]
         \def\ellipseWidth{20cm}
         \def\ellipseHeight{5cm}
@@ -2979,22 +3154,24 @@
           {([xshift=\x, yshift=\y]ellipseCenter) circle (\bubbleRadius pt)}
         }
 
-        \node[%
-        anchor=north,
+    \node[
+      anchor=center,
+      align=center,
+      text width=0.75\linewidth,
+    ] at ([yshift=-3.85cm]ellipseCenter) (titleNode)
+    {\csname\neoschool at titlestyle\endcsname\csname\neoschool at titleweight\endcsname\csname\neoschool at titleshape\endcsname
+      \color{\neo at bubbles@colbubbles}\huge \bfseries \@title};
+
+    \ifx\@subtitle\empty\else
+      \node[
+        below=2mm of titleNode,
         align=center,
-        inner sep=3mm,
-        minimum width=0.5\linewidth,
-        text opacity=1,
-        draw opacity=0.85,
-        fill=white,
-        rounded corners=2pt,
-        draw=\neoschool at headfootcolor,
-        line width=0.4pt
-        ] at ([yshift=0.5cm]ellipseCenter)
-        {\csname\neoschool at titlestyle\endcsname\csname\neoschool at titleweight\endcsname\csname\neoschool at titleshape\endcsname
-          \color{\neo at bubbles@colbubbles}\LARGE \@title};
+        text width=0.6\linewidth,
+      ]
+      {\usekomafont{subtitle}{\@subtitle}};
+    \fi
       \end{tikzpicture}%
-      \if at twocolumn\vspace{6cm}\else\vspace{12em}\fi%
+      \if at twocolumn\vspace{8.75cm}\else\vspace{7.5cm}\fi%
     }
 
     \AtBeginDocument{%
@@ -3997,7 +4174,6 @@
 
     % Code input
     \NewTCBInputListing{\codeinput}{ O{} m m !O{} !O{} !O{\neoschool at codewidth} }{%
-        listing file={#3},
         listing only,
         boxrule=0pt,
         enhanced,
@@ -4989,8 +5165,28 @@
 % Correct Answer Command
 \NewDocumentCommand{\correct}{s}{%
     \IfBooleanTF#1
-    {\ifneoschool at answers\neochecksol\else\neocheckbox\fi}
-    {\ifneoschool at answers\neocolorcirc{black}{black}\else\neocheckcirc\fi}%
+    {% \correct*
+        \ifneoschool at answers
+            \neochecksol
+        \else
+            \ifneoschool at answersonly
+                \neochecksol
+            \else
+                \neocheckbox
+            \fi
+        \fi
+    }
+    {% \correct
+        \ifneoschool at answers
+            \neocolorcirc{black}{black}
+        \else
+            \ifneoschool at answersonly
+                \neocolorcirc{black}{black}
+            \else
+                \neocheckcirc
+            \fi
+        \fi
+    }%
 }
 
 %% ==============================================================================
@@ -5951,7 +6147,7 @@
         {\;\XSIMtranslate{points})\!}
     }
 }
-\color{\neoschool at globalcolor}\hspace{-1em}
+\color{\neoschool at globalcolor}\nobreak\hspace{-1em}
 }{\par\vspace{0.5\baselineskip}}
 
 
@@ -6110,31 +6306,29 @@
 \fi
 
 %% ==============================================================================
-%% Solution Box Configuration
+%% Solution Configuration
 %% ==============================================================================
 
-% Solution box template
-\DeclareExerciseEnvironmentTemplate{sol-box}{%
-    \begin{tcolorbox}[%
-            enhanced,
-            breakable,
-            frame hidden,
-            before skip=0.5\baselineskip,
-            after skip=0.5\baselineskip,
-            left=0.75em,
-            right=0.5em,
-            boxsep=1ex,
-            colframe=solutionColor,
-            colback=solutionColor!5,
-        ]
-        {\color{solutionColor}
-            \csname\neoschool at headstyle\endcsname\csname\neoschool at headweight\endcsname\csname\neoschool at headshape\endcsname
-            \XSIMmixedcase{\GetExerciseName}
-            \csname neo at solutiongaptext\endcsname
-            \GetExerciseProperty{counter}
-        }
-        }{\end{tcolorbox}}
+% Solution templates
+\DeclareExerciseEnvironmentTemplate{sol-block}{%
+    {\color{solutionColor}
+        \csname\neoschool at headstyle\endcsname\csname\neoschool at headweight\endcsname\csname\neoschool at headshape\endcsname
+        \XSIMmixedcase{\GetExerciseName}
+        \csname neo at solutiongaptext\endcsname
+        \GetExerciseProperty{counter}
+    }\par\vspace{0.25\baselineskip}
+}{\par\vspace{0.5\baselineskip}}
 
+\DeclareExerciseEnvironmentTemplate{sol-inline}{%
+    %% \noindent
+    {\color{solutionColor}
+        \csname\neoschool at headstyle\endcsname\csname\neoschool at headweight\endcsname\csname\neoschool at headshape\endcsname
+        \XSIMmixedcase{\GetExerciseName}
+        \csname neo at solutiongaptext\endcsname
+        \GetExerciseProperty{counter}\hspace{.5em}
+    }%
+}{\par\vspace{0.25\baselineskip}}
+
 %% ==============================================================================
 %% Smart Boxes
 %% ==============================================================================
@@ -6229,6 +6423,13 @@
     }
 \fi
 
+\ifneoschool at answersonly
+    \xsimsetup{%
+        exercise/print=false,
+        solution/print=true
+    }
+\fi
+
 % Base exercise setup
 \ifneoschool at sectionthmcounter
     \ifneoschool at sharedexcounter
@@ -6236,7 +6437,7 @@
             exercise/within = section,
             exercise/name = {\neo at exercisename},
             solution/name = {\neo at solutionname},
-            solution/template = sol-box
+            solution/template = sol-inline
         }
         \renewcommand*{\theexercise}{\thesection.\arabic{thmcounter}}
         \AtBeginEnvironment{exercise}{\stepcounter{thmcounter}\addtocounter{exercise}{-1}}
@@ -6245,7 +6446,7 @@
             exercise/within = section,
             exercise/name = {\neo at exercisename},
             solution/name = {\neo at solutionname},
-            solution/template = sol-box
+            solution/template = sol-inline
         }
     \fi
 \else
@@ -6253,7 +6454,7 @@
         \xsimsetup{%
             exercise/name = {\neo at exercisename},
             solution/name = {\neo at solutionname},
-            solution/template = sol-box
+            solution/template = sol-inline
         }
         \renewcommand*{\theexercise}{\arabic{thmcounter}}
         \AtBeginEnvironment{exercise}{\stepcounter{thmcounter}\addtocounter{exercise}{-1}}
@@ -6261,7 +6462,7 @@
         \xsimsetup{%
             exercise/name = {\neo at exercisename},
             solution/name = {\neo at solutionname},
-            solution/template = sol-box
+            solution/template = sol-inline
         }
     \fi
 \fi
@@ -6299,6 +6500,10 @@
     \xsimsetup{exercise/template=rect-box}
 \fi
 
+\ifneo at blocksol
+    \xsimsetup{solution/template=sol-block}
+\fi
+
 %% ==============================================================================
 %% Referencing an exercise
 %% ==============================================================================
@@ -6608,7 +6813,7 @@
     \noindent%
     \IfBooleanTF{#1}{%
         \par\begin{tblr}{%
-            width={.975\linewidth},
+            width={\linewidth},
             colspec={X[j,m]Q[c,m]Q[c,m]}
             }
             {{{#4}}} &  & \centering\qrcode{#3}
@@ -6615,7 +6820,7 @@
         \end{tblr}%
     }{%
         \par\begin{tblr}{%
-            width={.975\linewidth},
+            width={\linewidth},
             colspec={Q[c,m]Q[c,m]X[j,m]}
             }
             \centering\qrcode{#3} &  & {{{#4}}}
@@ -6709,13 +6914,24 @@
 \ifx\neoschool at margin\@empty\else
     \AtEndPreamble{%
         \newlength{\neo at originalwidth}%
-        \setlength{\neo at originalwidth}{18cm}%
+        \newlength{\neo at originalheight}%
+
+        \ifdim\paperwidth>\paperheight
+            % Landscape Mode
+            \setlength{\neo at originalwidth}{27cm}%
+            \setlength{\neo at originalheight}{20.5cm}%
+        \else
+            % Portrait Mode
+            \setlength{\neo at originalwidth}{19cm}%
+            \setlength{\neo at originalheight}{29.25cm}%
+        \fi
+
         \addtolength{\evensidemargin}{\neoschool at margin}%
         \addtolength{\oddsidemargin}{\neoschool at margin}%
         \setlength{\marginparwidth}{\dimexpr\neoschool at margin-0.5cm\relax}%
         \setlength{\marginparsep}{0.5cm}%
-        \areaset{\dimexpr\neo at originalwidth-\neoschool at margin\relax}{\dimexpr29cm-\neoschool at margin}%
-        % \recalctypearea
+
+        \areaset{\dimexpr\neo at originalwidth-\neoschool at margin\relax}{\dimexpr\neo at originalheight-\neoschool at margin\relax}%
     }
 \fi
 
@@ -6744,7 +6960,6 @@
         \setlength{\marginparwidth}{\dimexpr\neoschool at notes-0.5cm\relax}
         \setlength{\marginparsep}{0.5cm} \areaset{\dimexpr\neo at originalwidth-\neoschool at notes\relax}{\dimexpr29cm-\neoschool at notes}
     }
-    % \recalctypearea
 \fi
 
 \newcommand{\tdnote}[2][]{%
@@ -7182,6 +7397,23 @@
 }
 
 %% Base Style Configuration
+
+\tcbset{
+    neoschool-admonition-layout/.style={
+        code={
+            \ifneoschool at inlineadmonition
+                \tcbset{
+                    after title={~\;},
+                }
+            \else
+                \tcbset{
+                    after title={\par\vspace{0.5em}},
+                }
+            \fi
+        }
+    }
+}
+
 \newtcolorbox{admonitionbase}[4][]{%
     enhanced,
     before skip=0.5\baselineskip,
@@ -7192,7 +7424,7 @@
     frame style={opacity=0.5},
     \neo at framehidden,
     arc=2pt,
-    left=10pt,
+    left=20pt,
     right=5pt,
     top=3pt,
     bottom=3pt,
@@ -7199,13 +7431,13 @@
     breakable,
     fonttitle=\sffamily\bfseries,
     title={%
-        \hspace*{-2mm}%
+        \hspace*{-5.35mm}%
         \raisebox{-2pt}{\textcolor{#2}{\Large#3}}%
         \hspace{5pt}%
         \textcolor{#2}{\textbf{#4}}%
     },
     attach title to upper,
-    after title={\par\vspace{0.5em}},
+    neoschool-admonition-layout,
     #1
 }
 



More information about the tex-live-commits mailing list.