summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/whatsnote
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/whatsnote')
-rw-r--r--Master/texmf-dist/tex/latex/whatsnote/litebook.cls26
-rw-r--r--Master/texmf-dist/tex/latex/whatsnote/litesolution.cls26
-rw-r--r--Master/texmf-dist/tex/latex/whatsnote/thmlist.sty27
-rw-r--r--Master/texmf-dist/tex/latex/whatsnote/whats-cover-module.code.tex107
-rw-r--r--Master/texmf-dist/tex/latex/whatsnote/whats-font-module.code.tex62
-rw-r--r--Master/texmf-dist/tex/latex/whatsnote/whats-layout-module.code.tex101
-rw-r--r--Master/texmf-dist/tex/latex/whatsnote/whats-theorem-module.code.tex101
-rw-r--r--Master/texmf-dist/tex/latex/whatsnote/whatsnote.cls107
8 files changed, 557 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/whatsnote/litebook.cls b/Master/texmf-dist/tex/latex/whatsnote/litebook.cls
new file mode 100644
index 00000000000..c7e038975c6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/whatsnote/litebook.cls
@@ -0,0 +1,26 @@
+%% ***********************************************************************
+%% Copyright 2024 by M.Y. XIA <xiamyphys@gmail.com> *
+%% *
+%% This work may be distributed and/or modified under the conditions *
+%% of the LaTeX Project Public License *
+%% *
+%% http://www.latex-project.org/lppl.txt *
+%% *
+%% either version 1.3c of this license or any later version. *
+%% *
+%% This work has the LPPL maintenance status `obsoleted'. *
+%% This work has the LPPL maintenance status `obsoleted'. *
+%% This work has the LPPL maintenance status `obsoleted'. *
+%% ***********************************************************************
+\ProvidesExplClass {litebook} {2024/11/26} {0.2b}
+ {Now replaced by the whatsnote class}
+
+\msg_new:nnn { litebook } { Obsolete~LaTeX~Package }
+ { The~litebook~class~is~now~obsoleted.~
+ Please~load~the~`whatsnote'~class~instead,~or~
+ access~the~'obsolete~packages'~dictionary~on~CTAN. }
+\msg_error:nn { litebook } { Obsolete~LaTeX~Package }
+
+\LoadClass{minimal}
+
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/whatsnote/litesolution.cls b/Master/texmf-dist/tex/latex/whatsnote/litesolution.cls
new file mode 100644
index 00000000000..4234fb2dbe2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/whatsnote/litesolution.cls
@@ -0,0 +1,26 @@
+%% ***********************************************************************
+%% Copyright 2024 by M.Y. XIA <xiamyphys@gmail.com> *
+%% *
+%% This work may be distributed and/or modified under the conditions *
+%% of the LaTeX Project Public License *
+%% *
+%% http://www.latex-project.org/lppl.txt *
+%% *
+%% either version 1.3c of this license or any later version. *
+%% *
+%% This work has the LPPL maintenance status `obsoleted'. *
+%% This work has the LPPL maintenance status `obsoleted'. *
+%% This work has the LPPL maintenance status `obsoleted'. *
+%% ***********************************************************************
+\ProvidesExplClass {litesolution} {2024/11/26} {2.4a}
+ {Now replaced by the whatsnote class}
+
+\msg_new:nnn { litesolution } { Obsolete~LaTeX~Package }
+ { The~litesolution~class~is~now~obsoleted.~
+ Please~load~the~`whatsnote'~class~instead,~or~
+ access~the~'obsolete~packages'~dictionary~on~CTAN. }
+\msg_error:nn { litesolution } { Obsolete~LaTeX~Package }
+
+\LoadClass{minimal}
+
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/whatsnote/thmlist.sty b/Master/texmf-dist/tex/latex/whatsnote/thmlist.sty
new file mode 100644
index 00000000000..a8124be74ed
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/whatsnote/thmlist.sty
@@ -0,0 +1,27 @@
+%% ***********************************************************************
+%% Copyright 2024 by M.Y. XIA <xiamyphys@gmail.com> *
+%% *
+%% This work may be distributed and/or modified under the conditions *
+%% of the LaTeX Project Public License *
+%% *
+%% http://www.latex-project.org/lppl.txt *
+%% *
+%% either version 1.3c of this license or any later version. *
+%% *
+%% This work has the LPPL maintenance status `obsoleted'. *
+%% This work has the LPPL maintenance status `obsoleted'. *
+%% This work has the LPPL maintenance status `obsoleted'. *
+%% ***********************************************************************
+\ProvidesExplPackage {thmlist} {2024/11/26} {0.1b}
+ {Formally a part of the class litebook}
+
+\msg_new:nnn { thmlist } { Obsolete~LaTeX~Package }
+ { The~thmlist~package~is~now~obsoleted.~
+ Its~functions~are~contained~in~the~`whatsnote'~class,~
+ and~its~functions~are~highly~redundant~with~existing~packages,~
+ and~its~functions~can~be~very~easily~achieved~by~expl3.
+ Please~load~the~`whatsnote'~class~instead,~or~
+ access~the~'obsolete~packages'~dictionary~on~CTAN.
+ }
+\msg_error:nn { thmlist } { Obsolete~LaTeX~Package }
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/whatsnote/whats-cover-module.code.tex b/Master/texmf-dist/tex/latex/whatsnote/whats-cover-module.code.tex
new file mode 100644
index 00000000000..bde33895f13
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/whatsnote/whats-cover-module.code.tex
@@ -0,0 +1,107 @@
+\whatsnote_provide_module:n { cover }
+
+\keys_define:nn { whats / coverset }
+ {
+ title .tl_set:N = \l__whatsnote_cover_title_tl,
+ subtitle .tl_set:N = \l__whatsnote_cover_subtitle_tl,
+ bioinfo .tl_set:N = \l__whatsnote_cover_bioinfo_tl,
+ color .tl_set:N = \l__whatsnote_cover_color_tl,
+ color .initial:n = gray,
+ head .tl_set:N = \l__whatsnote_cover_head_tl,
+ logo .tl_set:N = \l__whatsnote_cover_logo_tl,
+ }
+
+\NewDocumentCommand \coverset { m }
+ {
+ \keys_set:nn { whats / coverset } {#1}
+ \exp_args:NNne
+ \seq_set_split:Nnn \l__whatsnote_cover_head_seq {/}
+ { \l__whatsnote_cover_head_tl }
+ \exp_args:NNne
+ \seq_set_split:Nnn \l__whatsnote_cover_logo_seq {/}
+ { \l__whatsnote_cover_logo_tl }
+ }
+
+\RequirePackage{ graphicx, geometry, circuitikz, pagecolor }
+\geometry{ margin = 1in }
+\graphicspath
+ {
+ {./figure/} {./figures/} {./image/} {./images/}
+ {./graphics/} {./graphic/} {./pictures/} {./picture/}
+ }
+\ExplSyntaxOff
+\usetikzlibrary{ fadings, patterns, arrows, decorations.markings }
+\tikzset
+ {
+ > = stealth',
+ every picture/.append style =
+ { line join = round, line cap = round, thick }
+ }
+\ExplSyntaxOn
+
+\cs_new_protected_nopar:Npn \whatsnote_maketitle:
+ {
+ \newpagecolor{\l__whatsnote_cover_color_tl!10}
+ \begin{titlepage}
+ \begin{tikzpicture}[ remember~picture, overlay ]
+ \fill [ white, opacity = .5 ] (current~page.south~east) rectangle +
+ (-.8\paperwidth, .6\paperheight);
+ \fill [ white, opacity = .5 ] (current~page.south~east) rectangle +
+ (-.7\paperwidth, .7\paperheight);
+ \node
+ [ shift = {(-.35*\paperwidth,.65*\paperheight)},
+ darkgray, font = \Huge\bfseries\sffamily
+ ] at (current~page.south~east) { \l__whatsnote_cover_title_tl };
+ \node
+ [ shift = {(-.75*\paperwidth,.3*\paperheight)},
+ rotate = 90, gray, opacity = .6, font = \huge\bfseries\sffamily
+ ] at (current~page.south~east) { \l__whatsnote_cover_subtitle_tl };
+ \node
+ [ shift = {(.15*\paperwidth,.075*\paperheight)},
+ gray, opacity = .4, font = \large
+ ] at (current~page.south) { \l__whatsnote_cover_bioinfo_tl };
+ \tl_if_empty:NF { \l__whatsnote_cover_head_tl }
+ {
+ \node
+ [ rotate~around =
+ {
+ \seq_item:Nn \l__whatsnote_cover_head_seq {2} \c_colon_str
+ ([yshift = .35*\paperheight]current~page.center)
+ },
+ yshift = .35*\paperheight
+ ] at (current~page.center)
+ {
+ \includegraphics[ width = \paperwidth ]
+ { \seq_item:Nn \l__whatsnote_cover_head_seq {1} }
+ };
+ }
+ \tl_if_empty:NF { \l__whatsnote_cover_logo_tl }
+ {
+ \node (cover~logo)
+ [ shift = {(.65*\paperwidth,.3*\paperheight)}]
+ at (current~page.south~west)
+ {
+ \includegraphics[ height=.3\paperheight ]
+ { \seq_item:Nn \l__whatsnote_cover_logo_seq {1} }
+ };
+ \fill
+ [ pattern = \seq_item:Nn \l__whatsnote_cover_logo_seq {2},
+ pattern~color = \l__whatsnote_cover_color_tl!15!white!25,
+ scope~fading = south
+ ] (cover~logo.south~west) rectangle (cover~logo.north~east);
+ }
+ \end{tikzpicture}
+ \end{titlepage}
+ \thispagestyle{empty}
+ \cleardoublepage
+ \restorepagecolor
+ }
+
+\RenewDocumentCommand \maketitle { }
+ {
+ \group_begin:
+ \whatsnote_maketitle:
+ \group_end:
+ }
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/whatsnote/whats-font-module.code.tex b/Master/texmf-dist/tex/latex/whatsnote/whats-font-module.code.tex
new file mode 100644
index 00000000000..19ab0f7b016
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/whatsnote/whats-font-module.code.tex
@@ -0,0 +1,62 @@
+\whatsnote_provide_module:n { font }
+
+\sys_if_engine_pdftex:TF
+ {
+ \RequirePackage{bm}
+ \linespread{1.2}
+ \tl_if_empty:NF \g__whatsnote_math_font
+ { \RequirePackage{ \g__whatsnote_math_font } }
+ }
+ {
+ \PassOptionsToPackage{quiet}{xeCJK}
+ % \PassOptionsToPackage{quiet}{luaCJK}
+ \RequirePackage[ scheme = plain ]{ctex}
+ \tl_if_empty:NF \g__whatsnote_main_font
+ { \exp_last_unbraced:No \setmainfont \g__whatsnote_main_font }
+ \tl_if_empty:NF \g__whatsnote_mono_font
+ { \exp_last_unbraced:No \setmonofont \g__whatsnote_mono_font }
+ \tl_if_empty:NF \g__whatsnote_sans_font
+ { \exp_last_unbraced:No \setsansfont \g__whatsnote_sans_font }
+ \RequirePackage
+ [ warnings-off = { mathtools-colon, mathtools-overbracket } ]
+ {unicode-math}
+ \tl_if_empty:NF \g__whatsnote_math_font
+ { \setmathfont { \g__whatsnote_math_font } }
+ \usephysicsmodule{bm-um.legacy}
+ }
+
+\sys_if_engine_xetex:T
+ {
+ \linespread{1.3}
+ \tl_if_empty:NF \g__whatsnote_main_CJK_font
+ { \exp_last_unbraced:No \setCJKmainfont \g__whatsnote_main_CJK_font }
+ \tl_if_empty:NF \g__whatsnote_mono_CJK_font
+ { \exp_last_unbraced:No \setCJKmonofont \g__whatsnote_mono_CJK_font }
+ \tl_if_empty:NF \g__whatsnote_sans_CJK_font
+ { \exp_last_unbraced:No \setCJKsansfont \g__whatsnote_sans_CJK_font }
+ \RequirePackage{xeCJKfntef}
+ }
+% \sys_if_engine_luatex:T
+% {
+% \linespread{1.3}
+% \tl_if_empty:NF \g__whatsnote_main_Lua_font
+% { \exp_last_unbraced:No \setCJKmainfont \g__whatsnote_main_Lua_font }
+% \tl_if_empty:NF \g__whatsnote_mono_Lua_font
+% { \exp_last_unbraced:No \setCJKmonofont \g__whatsnote_mono_Lua_font }
+% \tl_if_empty:NF \g__whatsnote_sans_Lua_font
+% { \exp_last_unbraced:No \setCJKsansfont \g__whatsnote_sans_Lua_font }
+% \RequirePackage{luaCJKfntef}
+% }
+
+\RequirePackage{fontawesome5}
+\hook_gput_code:nnn { cmd/faIcon/before } { . }
+ {
+ \group_begin:
+ \fontsize { \fp_eval:n { .8 * \f@size } } { 0 } \selectfont
+ }
+\hook_gput_code:nnn { cmd/faIcon/after } { . } { \group_end: }
+
+\newcommand{\iu}{{i\mkern1mu}}
+\DeclareMathOperator{\sign}{sgn}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/whatsnote/whats-layout-module.code.tex b/Master/texmf-dist/tex/latex/whatsnote/whats-layout-module.code.tex
new file mode 100644
index 00000000000..ff190de2293
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/whatsnote/whats-layout-module.code.tex
@@ -0,0 +1,101 @@
+\whatsnote_provide_module:n { layout }
+
+\bool_if:NTF \g__whatsnote_darkmode_bool
+ {
+ \pagecolor{black!90}
+ \color{black!10}
+ \tl_set:Nn \l__whats_darkmode_fading_tl {!30}
+ \AtBeginDocument{\color_select:n{black!10}}
+ }
+ { \tl_new:N \l__whats_darkmode_fading_tl }
+
+\def\@makechapterhead#1
+ {
+ \vspace*{ -25\p@ }
+ {
+ \parindent \z@ \raggedright \normalfont
+ \int_compare:nNnT { \c@secnumdepth } > { \m@ne }
+ {
+ \if@mainmatter
+ \parbox { 16ex }
+ {
+ \centering
+ \@setfontsize\HUGE{30}{40} \normalfont\bfseries
+ \textcolor{darkgray}{\thechapter}
+ \vskip6\p@
+ \normalsize \bfseries\sffamily\scshape
+ \textcolor{darkgray}{\@chapapp}
+ }
+ \fi
+ }
+ \interlinepenalty\@M \hspace*{2.5ex}
+ \parbox { \dim_eval:n { \linewidth - 21ex } } { \huge \bfseries #1 }
+ \par\nobreak
+ \vskip 45\p@
+ }
+ }
+
+\def\@makeschapterhead#1
+ {
+ \renewcommand*{\thesection}{\arabic{section}}
+ \renewcommand*{\theproblem}{\arabic{problem}}
+ \setcounter{section}{0}
+ \setcounter{problem}{0}
+ {
+ \centering
+ \parindent \z@
+ \normalfont
+ \interlinepenalty\@M
+ \huge \bfseries #1\par\nobreak
+ \vskip 40\p@
+ }
+ }
+
+\NewDocumentEnvironment{textfig}{O{7 \c_colon_str 2}}
+ {
+ \group_begin:
+ \seq_set_split:Nee \l__whats_textfig_ratio_seq {\c_colon_str} {#1}
+ \vspace{4.5pt plus 1.5pt minus 1.5pt} \noindent
+ \minipage
+ {
+ \fp_eval:n
+ {
+ .96*\seq_item:Nn \l__whats_textfig_ratio_seq {1}/
+ (
+ \seq_item:Nn \l__whats_textfig_ratio_seq {1} +
+ \seq_item:Nn \l__whats_textfig_ratio_seq {2}
+ )
+ }\dimexpr \linewidth
+ }
+ }
+ {
+ \endminipage
+ \vspace{4.5pt plus 1.5pt minus 1.5pt} \par
+ \group_end:
+ }
+
+\NewDocumentCommand \textfigsplit {}
+ {
+ \endminipage
+ \hspace{.02\linewidth}
+ \minipage
+ {
+ \fp_eval:n
+ {
+ .96*\seq_item:Nn \l__whats_textfig_ratio_seq {2}/
+ (
+ \seq_item:Nn \l__whats_textfig_ratio_seq {1} +
+ \seq_item:Nn \l__whats_textfig_ratio_seq {2}
+ )
+ }\dimexpr \linewidth
+ }
+ }
+
+\RequirePackage{ tasks, multirow, multicol }
+\settasks { label = \sffamily\Alph*., item-indent = 2.5em, label-offset = .5pt }
+
+\RequirePackage[inline]{enumitem}
+
+\RequirePackage{fancyhdr}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/whatsnote/whats-theorem-module.code.tex b/Master/texmf-dist/tex/latex/whatsnote/whats-theorem-module.code.tex
new file mode 100644
index 00000000000..04a7b8fa783
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/whatsnote/whats-theorem-module.code.tex
@@ -0,0 +1,101 @@
+\whatsnote_provide_module:n { theorem }
+
+\RequirePackage
+ { mathtools, amssymb, keytheorems, cancel, extarrows,
+ nicematrix, siunitx, physics2, fixdif, derivative }
+
+\newtheorem{theorem}{Theorem}
+\newtheorem{lemma}{Lemma}
+\newtheorem*{corollary}{Corollary}
+\newtheorem{proposition}{Proposition}
+\newtheorem{conjecture}{Conjecture}
+\newtheorem{criterion}{Criterion}
+\newtheorem{assertion}{Assertion}
+
+\theoremstyle { definition }
+\newtheorem{definition}{Definition}
+\newtheorem{condition}{Condition}
+\renewcommand \qedsymbol
+ { \ensuremath { \mathcolor { gray } { \blacksquare } } }
+\newtheorem { problem }
+ {
+ \sffamily\scshape \color { DarkGreen \l__whats_darkmode_fading_tl }
+ \faIcon { pen-square }~Problem
+ } [ chapter ]
+\newtheorem* { solution }
+ {
+ \sffamily\scshape \color { MidnightBlue \l__whats_darkmode_fading_tl }
+ \faIcon { check-square }~Solution
+ }
+\newtheorem* { scratchwork }
+ {
+ \sffamily\scshape \color { MidnightBlue \l__whats_darkmode_fading_tl }
+ \faIcon { eraser }~Scratch~Work
+ }
+\RequirePackage{comment}
+\bool_if:NTF \g__whatsnote_hideanswer_bool
+ {
+ \sys_if_engine_pdftex:T
+ {
+ \NewDocumentCommand \result { m }
+ { \underline { \phantom { ~ #1 ~ } } }
+ }
+ \sys_if_engine_xetex:T
+ {
+ \NewDocumentCommand \result { m }
+ { \CJKunderline* { \phantom { ~ #1 ~ } } }
+ }
+ % \sys_if_engine_luatex:T
+ % {
+ % \NewDocumentCommand \result { m }
+ % { \Luaunderline* { \phantom { ~ #1 ~ } } }
+ % }
+ \excludecomment{solution}
+ \NewDocumentCommand \scratch { O { 0em } }
+ { \begin{scratchwork} \leavevmode\vspace{#1} \end{scratchwork} }
+ \newcommand \true { \addtocounter{task}{1} \thetask }
+ }
+ {
+ \sys_if_engine_pdftex:T
+ { \NewDocumentCommand \result { m } { \underline { ~ #1 ~ } } }
+ \sys_if_engine_xetex:T
+ { \NewDocumentCommand \result { m } { \CJKunderline* { ~ #1 ~ } } }
+ % \sys_if_engine_luatex:T
+ % { \NewDocumentCommand \result { m } { \Luaunderline* { ~ #1 ~ } } }
+ \excludecomment{scratchwork}
+ \NewDocumentCommand \scratch { o } { }
+ \newcommand \true { \addtocounter{task}{1} \faIcon{check-circle} }
+ }
+
+\newtheorem{example}{Example}
+\newtheorem{exercise}{Exercise}
+\newtheorem{algorithm}{Algorithm}
+\newtheorem{question}{Question}
+\newtheorem{axiom}{Axiom}
+\newtheorem{property}{Property}
+\newtheorem{assumption}{Assumption}
+\newtheorem{hypothesis}{Hypothesis}
+
+\RequirePackage{mdframed}
+\theoremstyle{remark}
+\newtheorem* { remark }
+ { \sffamily \color { DarkRed } \faIcon { info-circle }~Remark }
+\surroundwithmdframed
+ [ hidealllines = true, leftline = true, linewidth = 2pt,
+ linecolor = DarkRed, backgroundcolor = DarkRed!10,
+ skipabove = 3pt, skipbelow = 0pt,
+ innerleftmargin = 2ex, innerrightmargin = 2ex,
+ innertopmargin = 3pt, innerbottommargin = 6pt
+ ] { remark }
+\newtheorem*{note}{Note}
+\newtheorem{notation}{Notation}
+\newtheorem{claim}{Claim}
+\newtheorem{summary}{Summary}
+\newtheorem{acknowledgment}{Acknowledgment}
+\newtheorem{case}{Case}
+\newtheorem{conclusion}{Conclusion}
+
+\usephysicsmodule
+ { ab, ab.braket, doubleprod, diagmat, xmat, nabla.legacy, op.legacy }
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/whatsnote/whatsnote.cls b/Master/texmf-dist/tex/latex/whatsnote/whatsnote.cls
new file mode 100644
index 00000000000..235df439724
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/whatsnote/whatsnote.cls
@@ -0,0 +1,107 @@
+%% ***********************************************************************
+%% Copyright 2024 by M.Y. XIA <xiamyphys@gmail.com> *
+%% *
+%% This work may be distributed and/or modified under the conditions *
+%% of the LaTeX Project Public License *
+%% *
+%% http://www.latex-project.org/lppl.txt *
+%% *
+%% either version 1.3c of this license or any later version. *
+%% *
+%% This work has the LPPL maintenance status `maintained'. *
+%% *
+%% The Current Maintainers of this work is M.Y. XIA *
+%% *
+%% This work consists of the files whatsnote.cls, *
+%% whatsnote-cover-module.code.tex, *
+%% whatsnote-layout-module.code.tex, *
+%% whatsnote-font-module.code.tex, *
+%% whatsnote-theorem-module.code.tex, *
+%% and README.md. *
+%% available at https://github.com/xiamyphys/whatsnote *
+%% ***********************************************************************
+\def\whatsnote@date{2024/11/26}
+\def\whatsnote@version{3.0B}
+
+\ProvidesExplClass {whatsnote} {\whatsnote@date} {\whatsnote@version}
+ {LaTeX Class for taking Note}
+
+% module loading
+\cs_new_protected:Npn \whatsnote_msg_new:nn #1#2
+ { \msg_new:nnn { whatsnote } {#1} {#2} }
+\cs_new_protected:Npn \whatsnote_msg_error:nn #1#2
+ { \msg_error:nnn { whatsnote } {#1} {#2} }
+\cs_generate_variant:Nn \whatsnote_msg_error:nn { nx }
+\whatsnote_msg_new:nn { not found module }
+ { The~Whats~module~`#1'~not~found. }
+
+\cs_new_protected_nopar:Npn \whatsnote_provide_module:n #1
+ {
+ \ProvidesExplFile{Whats-#1-module.code.tex}
+ {\whatsnote@date}{\whatsnote@version}
+ {WhatsNote~ \text_titlecase:n {#1} ~Module}
+ }
+\cs_new_protected_nopar:Npn \whatsnote_load_module:n #1
+ {
+ \clist_map_inline:nn {#1}
+ {
+ \file_if_exist_input:nF { Whats-##1-module.code.tex }
+ { \whatsnote_msg_error:nn { not found module } {##1} }
+ }
+ }
+
+% global options
+\clist_new:N \g__whats_base_class_options_clist
+\keys_define:nn { whats / classoption }
+ {
+ hideanswer .bool_set:N = \g__whatsnote_hideanswer_bool,
+ hideanswer .initial:n = false,
+ hideanswer .default:n = true,
+ darkmode .bool_set:N = \g__whatsnote_darkmode_bool,
+ darkmode .initial:n = false,
+ darkmode .default:n = true,
+ math-font .tl_set:N = \g__whatsnote_math_font,
+ main-font .tl_set:N = \g__whatsnote_main_font,
+ sans-font .tl_set:N = \g__whatsnote_sans_font,
+ mono-font .tl_set:N = \g__whatsnote_mono_font,
+ CJKmain-font .tl_set:N = \g__whatsnote_main_CJK_font,
+ CJKsans-font .tl_set:N = \g__whatsnote_sans_CJK_font,
+ CJKmono-font .tl_set:N = \g__whatsnote_mono_CJK_font,
+ unknown .code:n = \__whatsnote_unknown_option:n { #1 },
+ }
+\cs_new_protected_nopar:Npn \__whatsnote_unknown_option:n #1
+ {
+ \tl_if_empty:nTF { #1 }
+ {
+ \clist_gput_right:NV \g__whats_base_class_options_clist \l_keys_key_str
+ }
+ {
+ \exp_args:NNx \clist_gput_right:Nn \g__whats_base_class_options_clist
+ { \l_keys_key_str = \exp_not:n {#1} }
+ }
+ }
+
+\ProcessKeyOptions[ whats / classoption ]
+\PassOptionsToClass{book}{11pt}
+\PassOptionsToPackage{svgnames}{xcolor}
+\exp_args:NNV \LoadClass[\g__whats_base_class_options_clist]{book}
+
+%% ***********************************************************************
+
+\whatsnote_load_module:n { cover }
+
+\whatsnote_load_module:n { layout }
+
+\whatsnote_load_module:n { theorem }
+
+\whatsnote_load_module:n { font }
+
+\RequirePackage
+ { hyperref, cleveref, booktabs, caption, fancyhdr, pgfplots, lipsum }
+\sys_if_engine_pdftex:F { \RequirePackage{zhlipsum} }
+\hypersetup { hidelinks }
+\pgfplotsset{ compat = newest }
+
+\endinput
+
+% End of file whatsnote.cls