diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/whatsnote')
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 |