diff options
Diffstat (limited to 'macros/latex/contrib/homework/homework.cls')
-rw-r--r-- | macros/latex/contrib/homework/homework.cls | 51 |
1 files changed, 46 insertions, 5 deletions
diff --git a/macros/latex/contrib/homework/homework.cls b/macros/latex/contrib/homework/homework.cls index 3af754dd25..29f2227f9f 100644 --- a/macros/latex/contrib/homework/homework.cls +++ b/macros/latex/contrib/homework/homework.cls @@ -12,7 +12,7 @@ \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplClass {homework} - {2023/09/30} {} + {2023/10/01} {} {Document class for writing homework} \keys_define:nn { homework } @@ -31,6 +31,20 @@ , formal~title .bool_set:N = \l__homework_formal_title_bool , formal title .bool_set:N = \l__homework_formal_title_bool + , colored-solution .tl_set:N = \l__homework_solution_color_tl + , colored-solution .initial:n = { main-text } + , colored-solution .default:n = { cyan!50!blue!90!main-text } + , colored~solution .tl_set:N = \l__homework_solution_color_tl + , colored~solution .default:n = { cyan!50!blue!90!main-text } + , colored solution .tl_set:N = \l__homework_solution_color_tl + , colored solution .default:n = { cyan!50!blue!90!main-text } + , colored-answer .tl_set:N = \l__homework_solution_color_tl + , colored-answer .default:n = { cyan!50!blue!90!main-text } + , colored~answer .tl_set:N = \l__homework_solution_color_tl + , colored~answer .default:n = { cyan!50!blue!90!main-text } + , colored answer .tl_set:N = \l__homework_solution_color_tl + , colored answer .default:n = { cyan!50!blue!90!main-text } + , hide-solution .bool_set:N = \l__homework_hide_solution_bool , hide-solution .initial:n = { false } , hide~solution .bool_set:N = \l__homework_hide_solution_bool @@ -39,6 +53,11 @@ , hide~answer .bool_set:N = \l__homework_hide_solution_bool , hide answer .bool_set:N = \l__homework_hide_solution_bool + , remove-qed .bool_set:N = \l__homework_no_qed_bool + , remove-qed .initial:n = { false } + , remove~qed .bool_set:N = \l__homework_no_qed_bool + , remove qed .bool_set:N = \l__homework_no_qed_bool + , unknown .code:n = { \PassOptionsToClass { \CurrentOption } { minimart } \PassOptionsToClass { \CurrentOption } { einfart } @@ -53,11 +72,19 @@ \sys_if_engine_pdftex:TF { - \PassOptionsToClass { use indent = false, theorem with qed } { minimart } + \bool_if:NF \l__homework_no_qed_bool + { + \PassOptionsToClass { theorem with qed } { minimart } + } + \PassOptionsToClass { use indent = false } { minimart } \LoadClass { minimart } } { - \PassOptionsToClass { use indent = false, theorem with qed } { einfart } + \bool_if:NF \l__homework_no_qed_bool + { + \PassOptionsToClass { theorem with qed } { einfart } + } + \PassOptionsToClass { use indent = false } { einfart } \LoadClass { einfart } } @@ -213,13 +240,27 @@ , RU = { Ответ } } +\newlist{soluenumerate}{enumerate}{3} +\setlist[soluenumerate]{labelsep=*, leftmargin=*} +\setlist[soluenumerate,1]{label = \normalfont$\big(\mskip-.5mu$\arabic*$\mskip-.5mu\big)$, + ref = \normalfont\color{.!45!paper}$\big(\mskip-.5mu$\arabic*$\mskip-.5mu\big)$, + leftmargin= \l__minimalist_item_indentation_dim + 2em } +\setlist[soluenumerate,2]{label = \normalfont$\big(\mskip-.5mu$\roman*$\mskip-.5mu\big)$, + ref = \normalfont\color{.!45!paper}$\big(\mskip-.5mu$\arabic{soluenumeratei}.\roman*$\mskip-.5mu\big)$} +\setlist[soluenumerate,3]{label = \normalfont$\big(\mskip-.5mu$\emph{\alph*}$\mskip-.5mu\big)$, + ref = \normalfont\color{.!45!paper}$\big(\mskip-.5mu$\arabic{soluenumeratei}.\roman{soluenumerateii}.\emph{\alph*}$\mskip-.5mu\big)$} + \newcommand\soluline{\bgroup\markoverwith{\rule[-.45ex]{1pt}{.75pt}}\ULon} \NewDocumentEnvironment { solution } { O{ \l__homework_solution_tl } } { \par \topsep0\p@\relax + \let\enumerate\soluenumerate + \let\endenumerate\endsoluenumerate + \setlist*[1]{itemsep=0\baselineskip, parsep=.5\parskip} + \setlist*[2]{itemsep=0\baselineskip, parsep=.5\parskip} \trivlist - \color{cyan!50!blue!90!main-text} + \color{\l__homework_solution_color_tl} \item[\hskip\labelsep\soluline{#1}\nobreakspace\nobreakspace] \let\qedsymbol\customqedsymbol \ignorespaces @@ -278,7 +319,7 @@ \setlist*[2]{itemsep=0\baselineskip, parsep=\parskip} } { - \setlist*[1]{itemsep=.5\baselineskip, parsep=\parskip} + \setlist*[1]{itemsep=.5\baselineskip, parsep=\parskip, after*=\medskip} \setlist*[2]{itemsep=.3\baselineskip, parsep=\parskip} } |