From 0f9b73b01a01a362d8915f8d176823c09d7bcfe0 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 20 Mar 2022 21:13:02 +0000 Subject: jxu (20mar22) git-svn-id: svn://tug.org/texlive/trunk@62833 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/beaulivre/beaulivre.cls | 1188 ++++++++------- Master/texmf-dist/tex/latex/colorist/colorart.cls | 340 ++--- Master/texmf-dist/tex/latex/colorist/colorbook.cls | 340 ++--- .../tex/latex/colorist/colorist-fancy.sty | 1026 +++++++++++++ Master/texmf-dist/tex/latex/colorist/colorist.sty | 1518 +------------------- Master/texmf-dist/tex/latex/einfart/einfart.cls | 2 +- Master/texmf-dist/tex/latex/lebhart/lebhart.cls | 1188 ++++++++------- .../tex/latex/minimalist/minimalist-classical.sty | 72 +- .../tex/latex/minimalist/minimalist-plain.sty | 100 +- .../texmf-dist/tex/latex/minimalist/minimalist.sty | 2 +- .../texmf-dist/tex/latex/minimalist/minimart.cls | 2 +- .../texmf-dist/tex/latex/minimalist/minimbook.cls | 2 +- Master/texmf-dist/tex/latex/projlib/ProjLib.sty | 2 +- .../tex/latex/projlib/projlib-author.sty | 54 +- .../tex/latex/projlib/projlib-datetime.sty | 2 +- .../texmf-dist/tex/latex/projlib/projlib-draft.sty | 2 +- .../texmf-dist/tex/latex/projlib/projlib-font.sty | 2 +- .../tex/latex/projlib/projlib-language.sty | 50 +- .../texmf-dist/tex/latex/projlib/projlib-logo.sty | 83 +- .../texmf-dist/tex/latex/projlib/projlib-math.sty | 2 +- .../texmf-dist/tex/latex/projlib/projlib-paper.sty | 2 +- .../tex/latex/projlib/projlib-theorem.sty | 20 +- .../texmf-dist/tex/latex/simplivre/simplivre.cls | 2 +- 23 files changed, 2886 insertions(+), 3115 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/colorist/colorist-fancy.sty (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/beaulivre/beaulivre.cls b/Master/texmf-dist/tex/latex/beaulivre/beaulivre.cls index bc373dd57ea..d90f081dca3 100644 --- a/Master/texmf-dist/tex/latex/beaulivre/beaulivre.cls +++ b/Master/texmf-dist/tex/latex/beaulivre/beaulivre.cls @@ -2,7 +2,7 @@ %% This is file `beaulivre/beaulivre.cls', %% generated with the docstrip utility. -%% Copyright (C) 2021 by Jinwen XU +%% Copyright (C) 2021-2022 by Jinwen XU %% %% This is part of the colorist class series. %% @@ -16,551 +16,665 @@ %% 2005/12/01 or later. %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] -\ProvidesClass{beaulivre} - [2021/12/16 A colorful book style] -\def\colorclass@baseclass{book} -\RequirePackage{kvoptions} -\RequirePackage{etoolbox} -\SetupKeyvalOptions{ - family = @colorclass, - prefix = @colorclass@, -} -\DeclareBoolOption[false]{draft} -\DeclareBoolOption[false]{fast} -\DeclareBoolOption[false]{useosf} -\DeclareBoolOption[false]{lmodern} -\DeclareBoolOption[false]{palatino} -\DeclareBoolOption[false]{times} -\DeclareBoolOption[false]{garamond} -\DeclareBoolOption[false]{noto} -\DeclareBoolOption[false]{biolinum} -\DeclareBoolOption[false]{customfont} -\DeclareStringOption{thmnum}[PJL@thmnum@default] - -\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse -\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue} -\newif\if@colorclass@afourpaper\@colorclass@afourpaperfalse -\DeclareVoidOption{a4paper}{\@colorclass@afourpapertrue} - -\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\colorclass@baseclass}} -\ProcessKeyvalOptions*\relax -\LoadClass{\colorclass@baseclass} - -\if@colorclass@draft - \@colorclass@fasttrue -\fi -\if@colorclass@lmodern - \@colorclass@customfonttrue -\fi -\if@colorclass@palatino - \@colorclass@customfonttrue -\fi -\if@colorclass@times - \@colorclass@customfonttrue -\fi -\if@colorclass@garamond - \@colorclass@customfonttrue -\fi -\if@colorclass@noto - \@colorclass@customfonttrue -\fi -\if@colorclass@biolinum - \@colorclass@customfonttrue -\fi +\RequirePackage{l3keys2e} +\ProvidesExplClass + {beaulivre} + {2022/03/19} {} + {A colorful book style} + +\tl_const:Nn \l__colorclass_base_class_tl { book } + + +\bool_new:N \l__colorclass_load_custom_font_file_bool +\bool_set_false:N \l__colorclass_load_custom_font_file_bool + +\bool_new:N \l__colorclass_load_custom_font_file_latin_bool +\bool_set_false:N \l__colorclass_load_custom_font_file_latin_bool + +\bool_new:N \l__colorclass_load_custom_font_file_cjk_bool +\bool_set_false:N \l__colorclass_load_custom_font_file_cjk_bool + +\bool_new:N \l__colorclass_load_custom_font_file_math_bool +\bool_set_false:N \l__colorclass_load_custom_font_file_math_bool + +\keys_define:nn { colorclass } + { + , draft .bool_set:N = \l__colorclass_fast_bool + , draft .initial:n = { false } + , fast .bool_set:N = \l__colorclass_fast_bool + + + , load custom font file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_bool + \str_set:Nn \l__colorclass_custom_font_file_str { #1 } + \bool_set_true:N \l__colorclass_load_custom_font_file_latin_bool + \str_set:Nn \l__colorclass_custom_font_file_latin_str { colorist.font.latin } + \bool_set_true:N \l__colorclass_load_custom_font_file_cjk_bool + \str_set:Nn \l__colorclass_custom_font_file_cjk_str { colorist.font.cjk } + \bool_set_true:N \l__colorclass_load_custom_font_file_math_bool + \str_set:Nn \l__colorclass_custom_font_file_math_str { colorist.font.math } + } + , load custom font file .default:n = { colorist.font } + , load~custom~font~file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_bool + \str_set:Nn \l__colorclass_custom_font_file_str { #1 } + } + , load~custom~font~file .default:n = { colorist.font } + , load-custom-font-file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_bool + \str_set:Nn \l__colorclass_custom_font_file_str { #1 } + } + , load-custom-font-file .default:n = { colorist.font } + + , load custom latin font file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_latin_bool + \str_set:Nn \l__colorclass_custom_font_file_latin_str { #1 } + } + , load custom latin font file .default:n = { colorist.font.latin } + , load~custom~latin~font~file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_latin_bool + \str_set:Nn \l__colorclass_custom_font_file_latin_str { #1 } + } + , load~custom~latin~font~file .default:n = { colorist.font.latin } + , load-custom-latin-font-file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_latin_bool + \str_set:Nn \l__colorclass_custom_font_file_latin_str { #1 } + } + , load-custom-latin-font-file .default:n = { colorist.font.latin } + + , load custom cjk font file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_cjk_bool + \str_set:Nn \l__colorclass_custom_font_file_cjk_str { #1 } + } + , load custom cjk font file .default:n = { colorist.font.cjk } + , load~custom~cjk~font~file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_cjk_bool + \str_set:Nn \l__colorclass_custom_font_file_cjk_str { #1 } + } + , load~custom~cjk~font~file .default:n = { colorist.font.cjk } + , load-custom-cjk-font-file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_cjk_bool + \str_set:Nn \l__colorclass_custom_font_file_cjk_str { #1 } + } + , load-custom-cjk-font-file .default:n = { colorist.font.cjk } + + , load custom math font file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_math_bool + \str_set:Nn \l__colorclass_custom_font_file_math_str { #1 } + } + , load custom math font file .default:n = { colorist.font.math } + , load~custom~math~font~file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_math_bool + \str_set:Nn \l__colorclass_custom_font_file_math_str { #1 } + } + , load~custom~math~font~file .default:n = { colorist.font.math } + , load-custom-math-font-file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_math_bool + \str_set:Nn \l__colorclass_custom_font_file_math_str { #1 } + } + , load-custom-math-font-file .default:n = { colorist.font.math } + + , a4paper .bool_set:N = \l__colorclass_a_four_paper_bool + , a4paper .initial:n = { false } + , b5paper .bool_set:N = \l__colorclass_b_five_paper_bool + , b5paper .initial:n = { false } + + , 11pt .code:n = { \PassOptionsToClass { \CurrentOption } { \l__colorclass_base_class_tl } } + , 12pt .code:n = { \PassOptionsToClass { \CurrentOption } { \l__colorclass_base_class_tl } } + + , unknown .code:n = { + \PassOptionsToPackage { \CurrentOption } { colorist } + } + } +\ProcessKeysOptions { colorclass } + +\LoadClass{\l__colorclass_base_class_tl} %%================================ -%% Page layout +%% Page layout %%================================ -\RequirePackage{silence} -\WarningFilter{geometry}{Over-specification in} -\RequirePackage[heightrounded]{geometry} -\geometry{ - papersize={8.5in,11in}, - % total={47em,66em}, - total={6.500in,9.130in}, - hmarginratio=1:1, - vmarginratio=1:1, - footnotesep=2em plus 2pt minus 2pt, -} -\if@colorclass@bfivepaper -\geometry{ - b5paper, - % total={40em,59em}, - total={5.535in,8.160in}, - hmarginratio=1:1, - vmarginratio=1:1, - footnotesep=2em plus 2pt minus 2pt, -} -\fi -\if@colorclass@afourpaper -\geometry{ - a4paper, - % total={47em,70em}, - total={6.500in,9.685in}, - hmarginratio=1:1, - vmarginratio=1:1, - footnotesep=2em plus 2pt minus 2pt, -} -\fi - -\RequirePackage{indentfirst} - -\if@colorclass@fast - \PassOptionsToPackage{fast}{colorist} - \RequirePackage{draftwatermark} - \DraftwatermarkOptions{text={\normalfont DRAFT},color=paper!95!-paper} -\fi - -\RequirePackage{colorist} +\RequirePackage { silence } +\WarningFilter { geometry } { Over-specification } + +\PassOptionsToPackage { heightrounded } { geometry } +\RequirePackage { geometry } + +\geometry + { + papersize = { 8.5in, 11in }, + total = { 6.500in, 9.130in }, + centering, + footnotesep = 2em plus 2pt minus 2pt, + } + +\bool_if:NT \l__colorclass_b_five_paper_bool + { + \geometry + { + b5paper, + total = { 5.535in, 8.160in }, + centering, + footnotesep = 2em plus 2pt minus 2pt, + } + } + +\bool_if:NT \l__colorclass_a_four_paper_bool + { + \geometry + { + a4paper, + total = { 6.500in, 9.685in }, + centering, + footnotesep = 2em plus 2pt minus 2pt, + } + } + +\bool_if:NT \l__colorclass_fast_bool + { + \PassOptionsToPackage { fast } { colorist } + \RequirePackage { draftwatermark } + \DraftwatermarkOptions { text = { \normalfont DRAFT }, color = paper!97!-paper } + } + +\RequirePackage { indentfirst } + +\RequirePackage { colorist } + +\hfuzz=2pt +\vfuzz=2pt %%================================ -%% Fonts +%% Fonts %%================================ -\if@colorclass@customfont\else - \if@colorclass@fast - \RequirePackage{mathpazo} - \fi -\fi - -\PassOptionsToPackage{no-math,quiet}{fontspec} -\RequirePackage{fontspec} - -\IfFileExists{colorist-font.tex}{ - \input{colorist-font.tex} -}{ -\IfFontExistsTF{Palatino Linotype}{% - \setmainfont{Palatino Linotype} - [\if@colorclass@useosf Numbers = OldStyle\fi] -}{ - \setmainfont{TeXGyrePagellaX-Regular.otf}[ - BoldFont = TeXGyrePagellaX-Bold.otf , - ItalicFont = TeXGyrePagellaX-Italic.otf , - BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf, - \if@colorclass@useosf Numbers = OldStyle\fi ] -} - \setsansfont{SourceSansPro-Regular.otf}[ - Scale = MatchLowercase , - BoldFont = SourceSansPro-Bold.otf , - ItalicFont = SourceSansPro-RegularIt.otf , - BoldItalicFont = SourceSansPro-BoldIt.otf ] - \setmonofont{NewCMMono10-Regular.otf}[ - Scale = 1.05 , - BoldFont = NewCMMono10-Bold.otf , - ItalicFont = NewCMMono10-Italic.otf , - BoldItalicFont = NewCMMono10-BoldOblique.otf ] -} - -\PassOptionsToPackage{fontset=none,scheme=plain}{ctex} -\RequirePackage{ctex} - -\IfFileExists{colorist-font.cjk.tex}{ - \input{colorist-font.cjk.tex} -}{ -\IfFontExistsTF{SourceHanSerifSC-Regular}{% - \setCJKmainfont{SourceHanSerifSC-Regular}[ - BoldFont = SourceHanSerifSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifSC-Bold ] -}{ - \setCJKmainfont{FandolSong-Regular.otf}[ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , - BoldItalicFeatures = {FakeBold=4} ] -} - -\IfFontExistsTF{SourceHanSansSC-Regular}{% - \setCJKsansfont{SourceHanSansSC-Regular}[ - BoldFont = SourceHanSansSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansSC-Bold ] -}{ - \setCJKsansfont{FandolHei-Regular.otf}[ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf ] -} - -\IfFontExistsTF{SourceHanMonoSC-Regular}{% - \setCJKmonofont{SourceHanMonoSC-Regular}[ - BoldFont = SourceHanMonoSC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoSC-Medium ] -}{ - \setCJKmonofont{FandolFang-Regular.otf}[ - BoldFont = * , - BoldFeatures = {FakeBold=4} , - ItalicFont = * , - BoldItalicFont = * , - BoldItalicFeatures = {FakeBold=4} ] -} - -\if@PJLlang@enable@CN -\IfFontExistsTF{SourceHanSerifSC-Regular}{% - \setCJKfamilyfont{SCmain}{SourceHanSerifSC-Regular}[ - BoldFont = SourceHanSerifSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifSC-Bold ] -}{ - \setCJKfamilyfont{SCmain}{FandolSong-Regular.otf}[ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , - BoldItalicFeatures = {FakeBold=4} ] -} -\IfFontExistsTF{SourceHanSansSC-Regular}{% - \setCJKfamilyfont{SCsans}{SourceHanSansSC-Regular}[ - BoldFont = SourceHanSansSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansSC-Bold ] -}{ - \setCJKfamilyfont{SCsans}{FandolHei-Regular.otf}[ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf ] -} -\IfFontExistsTF{SourceHanMonoSC-Regular}{% - \setCJKfamilyfont{SCmono}{SourceHanMonoSC-Regular}[ - BoldFont = SourceHanMonoSC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoSC-Medium ] -}{ - \setCJKfamilyfont{SCmono}{FandolFang-Regular.otf}[ - BoldFont = * , - BoldFeatures = {FakeBold=4} , - ItalicFont = * , - BoldItalicFont = * , - BoldItalicFeatures = {FakeBold=4} ] -} -\fi - -\if@PJLlang@enable@TC -\IfFontExistsTF{SourceHanSerifTC-Regular}{% - \setCJKfamilyfont{TCmain}{SourceHanSerifTC-Regular}[ - BoldFont = SourceHanSerifTC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifTC-Bold ] -}{ - \setCJKfamilyfont{TCmain}{FandolSong-Regular.otf}[ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , - BoldItalicFeatures = {FakeBold=4} ] -} -\IfFontExistsTF{SourceHanSansTC-Regular}{% - \setCJKfamilyfont{TCsans}{SourceHanSansTC-Regular}[ - BoldFont = SourceHanSansTC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansTC-Bold ] -}{ - \setCJKfamilyfont{TCsans}{FandolHei-Regular.otf}[ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf ] -} -\IfFontExistsTF{SourceHanMonoTC-Regular}{% - \setCJKfamilyfont{TCmono}{SourceHanMonoTC-Regular}[ - BoldFont = SourceHanMonoTC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoTC-Medium ] -}{ - \setCJKfamilyfont{TCmono}{FandolFang-Regular.otf}[ - BoldFont = * , - BoldFeatures = {FakeBold=4} , - ItalicFont = * , - BoldItalicFont = * , - BoldItalicFeatures = {FakeBold=4} ] -} -\fi - -\if@PJLlang@enable@JP -\IfFontExistsTF{SourceHanSerif-Regular}{% - \setCJKfamilyfont{JPmain}{SourceHanSerif-Regular}[ - BoldFont = SourceHanSerif-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerif-Bold ] -}{ - \setCJKfamilyfont{JPmain}{FandolSong-Regular.otf}[ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , - BoldItalicFeatures = {FakeBold=4} ] -} -\IfFontExistsTF{SourceHanSans-Regular}{% - \setCJKfamilyfont{JPsans}{SourceHanSans-Regular}[ - BoldFont = SourceHanSans-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSans-Bold ] -}{ - \setCJKfamilyfont{JPsans}{FandolHei-Regular.otf}[ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf ] -} -\IfFontExistsTF{SourceHanMono-Regular}{% - \setCJKfamilyfont{JPmono}{SourceHanMono-Regular}[ - BoldFont = SourceHanMono-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMono-Medium ] -}{ - \setCJKfamilyfont{JPmono}{FandolFang-Regular.otf}[ - BoldFont = * , - BoldFeatures = {FakeBold=4} , - ItalicFont = * , - BoldItalicFont = * , - BoldItalicFeatures = {FakeBold=4} ] -} -\fi - -\WarningFilter{latexfont}{Font shape} -\WarningFilter{latexfont}{Some font} - -\def\CJKsffamily{} -\def\CJKttfamily{} - -\apptocmd{\sffamily}{\CJKsffamily}{}{\FAIL} -\apptocmd{\ttfamily}{\CJKttfamily}{}{\FAIL} - -\if@PJLlang@enable@CN -\gappto{\PJLlang@langconfig@CN}{% - \def\CJKsffamily{\CJKfamily{SCsans}}% - \def\CJKttfamily{\CJKfamily{SCmono}}% - \CJKfamily{SCmain}% -} -\fi - -\if@PJLlang@enable@TC -\gappto{\PJLlang@langconfig@TC}{% - \def\CJKsffamily{\CJKfamily{TCsans}}% - \def\CJKttfamily{\CJKfamily{TCmono}}% - \CJKfamily{TCmain}% -} -\fi - -\if@PJLlang@enable@JP -\gappto{\PJLlang@langconfig@JP}{% - \def\CJKsffamily{\CJKfamily{JPsans}}% - \def\CJKttfamily{\CJKfamily{JPmono}}% - \CJKfamily{JPmain}% -} -\fi -} - -\if@colorclass@customfont\else -\if@colorclass@fast -\RequirePackage{amssymb} -\else -\PassOptionsToPackage - {warnings-off={mathtools-colon,mathtools-overbracket}}{unicode-math} -\RequirePackage{unicode-math} -\unimathsetup{math-style=ISO, partial=upright, nabla=upright} -\setmathfont{Asana-Math.otf} -\IfFontExistsTF{Neo Euler}{% -\setmathfont[range={up/{Latin,latin,Greek,greek}, - bfup/{Latin,latin,Greek,greek}, - cal, bfcal, frak, bffrak, - `(,`),`[,`],`\{,`\},`:,`=,\ne,\equiv,`/,\backslash, - \in,\notin,\ni,\subset,\supset,\subseteq,\supseteq, - \rightarrow,\leftarrow,\mapsto,\hookrightarrow,\hookleftarrow, - \sum,\prod,\coprod, - \sqrt,\int,\iint,\iiint,\oint}, - script-features={}, - sscript-features={}, - Scale = 1.05, - ]{Neo Euler} -}{} -\setmathfont[range={\leq,\geq,\ll,\gg,\lll,\ggg,\leqslant,\geqslant}, - Scale = 0.95, - ]{latinmodern-math.otf} -\setmathfont[range={up/num, bfup/num} - ]{texgyrepagella-math.otf} - -\AtBeginDocument{ -\let\mid@original\mid -\renewcommand{\mid}{\hspace{-.2em}\mid@original\hspace{-.2em}} -\let\nmid@original\nmid -\renewcommand{\nmid}{\hspace{-.2em}\nmid@original\hspace{-.2em}} -\renewcommand{\frac}[2]{\genfrac{}{}{}{}{ - \mathchoice - {\raisebox{-.15em}{$\displaystyle #1$}} - {\raisebox{-.15em}{$\textstyle #1$}} - {\raisebox{-.08em}{$\scriptstyle #1$}} - {\scriptscriptstyle #1} -}{ - \mathchoice - {\raisebox{.08em}{$\displaystyle #2$}} - {\raisebox{.08em}{$\textstyle #2$}} - {\raisebox{.05em}{$\scriptstyle #2$}} - {\scriptscriptstyle #2} -}} -} - -\RequirePackage{tikz-cd} -\newbox\xratbelow -\newbox\xratabove -\renewcommand{\xrightarrow}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [->, baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) -- node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} -\renewcommand{\xleftarrow}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [<-, baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) -- node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} -\renewcommand{\xleftrightarrow}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [<->, baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) -- node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} -\renewcommand{\xhookrightarrow}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) edge[commutative diagrams/hookrightarrow] node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} -\renewcommand{\xhookleftarrow}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) edge[commutative diagrams/hookleftarrow] node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} -\renewcommand{\xmapsto}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) edge[commutative diagrams/mapsto] node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} -\newcommand{\xlongequal}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) edge[commutative diagrams/equal] node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} - -\AtBeginDocument{ -\renewcommand{\twoheadrightarrow}{% - \mathrel{\tikz [baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) edge[commutative diagrams/twoheadrightarrow] (.8em,0) ;}} - -\renewcommand{\twoheadleftarrow}{% - \mathrel{\tikz [baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) edge[commutative diagrams/twoheadleftarrow] (.8em,0) ;}} -} -\fi -\fi - -\if@colorclass@lmodern - \RequirePackage{amssymb} - \if@colorclass@useosf - \RequirePackage{cfr-lm} - \else - \RequirePackage{lmodern} - \fi - \PJLsetlinespacing{\setstretch{1.00}} -\fi - -\if@colorclass@palatino - \RequirePackage{amssymb} - \RequirePackage{mathpazo} - \PassOptionsToPackage{defaultsups}{newpxtext} - \RequirePackage{newpxtext} - % \RequirePackage{newpxmath} - \let\openbox\relax - \PJLsetlinespacing{\setstretch{1.07}} - \if@colorclass@useosf\useosf\fi -\fi - -\if@colorclass@times - \RequirePackage{amssymb} - \PassOptionsToPackage{defaultsups}{newtxtext} - \RequirePackage{newtxtext} - \RequirePackage{newtxmath} - \let\openbox\relax - \PJLsetlinespacing{\setstretch{1.00}} - \if@colorclass@useosf\useosf\fi - \let\colorist@sffamily\relax -\fi - -\if@colorclass@garamond - \RequirePackage{amssymb} - \if@colorclass@useosf\else - \PassOptionsToPackage{lining}{ebgaramond} - \fi - \RequirePackage{ebgaramond-maths} - \RequirePackage{ebgaramond} - % \RequirePackage{garamondlibre} - \PJLsetlinespacing{\setstretch{1.00}} - \let\colorist@sffamily\relax -\fi - -\if@colorclass@noto - \RequirePackage{amssymb} - \if@colorclass@useosf - \PassOptionsToPackage{oldstyle}{notomath} - \fi - \RequirePackage{anyfontsize} - \RequirePackage{notomath} - \PJLsetlinespacing{\setstretch{1.00}} -\fi - -\if@colorclass@biolinum - \RequirePackage{amssymb} - % \RequirePackage{mathpazo} - % \RequirePackage[sansmath]{libertinust1math} - \ifPDFTeX - \if@colorclass@useosf - \PassOptionsToPackage{osf}{biolinum} - \fi - \RequirePackage{biolinum} - \renewcommand*\familydefault{\biolinum@family} - \else - \PassOptionsToPackage{no-math}{fontspec} - \RequirePackage{fontspec} - \setmainfont{LinBiolinum_R.otf}[ - BoldFont = LinBiolinum_RB.otf , - ItalicFont = LinBiolinum_RI.otf , - BoldItalicFont = LinBiolinum_RBO.otf, - \if@colorclass@useosf Numbers = OldStyle\fi ] - \fi - \PJLsetlinespacing{\setstretch{1.05}} - \RequirePackage[italic,defaultmathsizes]{mathastext} -\fi - -\def\PJL@font@alreadyset{} - -\PassOptionsToPackage{verbose=silent}{microtype} -\RequirePackage{microtype} -\PassOptionsToPackage{all}{nowidow} -\RequirePackage{nowidow} -\RequirePackage{embrac} +\WarningFilter { latexfont } { Font~shape } +\WarningFilter { latexfont } { Some~font } + +\cs_new_protected:Nn \__colorclass_load_file_or_config:Nnn + { + \bool_if:NT #1 + { + \exp_args:Nx \file_if_exist:nT { #2 } + { + \exp_args:Nx \file_input:n { #2 } + \use_none:nn + } + } + \use:n { #3 } + } + +\cs_new_protected:Nn \__colorclass_if_font_exist:nnn + { + \bool_if:NTF \l__colorclass_fast_bool + { #3 } + { \fontspec_font_if_exist:nTF { #1 } { #2 } { #3 } } + } + +\__colorclass_load_file_or_config:Nnn \l__colorclass_load_custom_font_file_bool { \l__colorclass_custom_font_file_str } + { + \RequirePackage { projlib-font } + + \bool_if:NF \g_projlib_font_already_set_bool + { + \bool_if:NT \l__colorclass_fast_bool + { + \RequirePackage { mathpazo } + } + + \PassOptionsToPackage { no-math,quiet } { fontspec } + \RequirePackage { fontspec } + + \__colorclass_load_file_or_config:Nnn \l__colorclass_load_custom_font_file_latin_bool { \l__colorclass_custom_font_file_latin_str } + { + \__colorclass_if_font_exist:nnn { Palatino~Linotype } + { + \bool_if:NTF \l__projlib_font_useosf_bool + { + \setmainfont { Palatino~Linotype } [ Numbers = OldStyle ] + } + { + \setmainfont { Palatino~Linotype } + } + } + { + \bool_if:NTF \l__projlib_font_useosf_bool + { + \setmainfont { TeXGyrePagellaX-Regular.otf } + [ + BoldFont = TeXGyrePagellaX-Bold.otf , + ItalicFont = TeXGyrePagellaX-Italic.otf , + BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf , + Numbers = OldStyle , + ] + } + { + \setmainfont { TeXGyrePagellaX-Regular.otf } + [ + BoldFont = TeXGyrePagellaX-Bold.otf , + ItalicFont = TeXGyrePagellaX-Italic.otf , + BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf , + ] + } + } + \setsansfont { SourceSansPro-Regular.otf } + [ + Scale = MatchLowercase , + BoldFont = SourceSansPro-Bold.otf , + ItalicFont = SourceSansPro-RegularIt.otf , + BoldItalicFont = SourceSansPro-BoldIt.otf , + ] + \setmonofont { NewCMMono10-Regular.otf } + [ + Scale = 1.05 , + BoldFont = NewCMMono10-Bold.otf , + ItalicFont = NewCMMono10-Italic.otf , + BoldItalicFont = NewCMMono10-BoldOblique.otf , + ] + + \projlib_language_set_linespacing_latin:n { \setstretch { 1.07 } } + } + } + + \PassOptionsToPackage { fontset = none, scheme = plain } { ctex } + \RequirePackage { ctex } + + \__colorclass_load_file_or_config:Nnn \l__colorclass_load_custom_font_file_cjk_bool { \l__colorclass_custom_font_file_cjk_str } + { + \__colorclass_if_font_exist:nnn { SourceHanSerifSC-Regular } + { + \setCJKmainfont { SourceHanSerifSC-Regular } + [ + BoldFont = SourceHanSerifSC-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSerifSC-Bold , + ] + } + { + \setCJKmainfont { FandolSong-Regular.otf } + [ + BoldFont = FandolSong-Bold.otf , + ItalicFont = FandolKai-Regular.otf , + BoldItalicFont = FandolKai-Regular.otf , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + + \__colorclass_if_font_exist:nnn { SourceHanSansSC-Regular } + { + \setCJKsansfont{SourceHanSansSC-Regular} + [ + BoldFont = SourceHanSansSC-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSansSC-Bold , + ] + } + { + \setCJKsansfont { FandolHei-Regular.otf } + [ + BoldFont = FandolHei-Bold.otf , + ItalicFont = * , + BoldItalicFont = FandolHei-Bold.otf , + ] + } + + \__colorclass_if_font_exist:nnn { SourceHanMonoSC-Regular } + { + \setCJKmonofont { SourceHanMonoSC-Regular } + [ + BoldFont = SourceHanMonoSC-Medium , + ItalicFont = * , + BoldItalicFont = SourceHanMonoSC-Medium , + ] + } + { + \setCJKmonofont { FandolFang-Regular.otf } + [ + BoldFont = * , + BoldFeatures = { FakeBold = 4 } , + ItalicFont = * , + BoldItalicFont = * , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + + \bool_if:NT \g__projlib_language_enabled_schinese_bool + { + \__colorclass_if_font_exist:nnn { SourceHanSerifSC-Regular } + { + \setCJKfamilyfont { SCmain } { SourceHanSerifSC-Regular } + [ + BoldFont = SourceHanSerifSC-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSerifSC-Bold , + ] + } + { + \setCJKfamilyfont { SCmain } { FandolSong-Regular.otf } + [ + BoldFont = FandolSong-Bold.otf , + ItalicFont = FandolKai-Regular.otf , + BoldItalicFont = FandolKai-Regular.otf , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + \__colorclass_if_font_exist:nnn { SourceHanSansSC-Regular } + { + \setCJKfamilyfont { SCsans } { SourceHanSansSC-Regular } + [ + BoldFont = SourceHanSansSC-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSansSC-Bold , + ] + } + { + \setCJKfamilyfont { SCsans } { FandolHei-Regular.otf } + [ + BoldFont = FandolHei-Bold.otf , + ItalicFont = * , + BoldItalicFont = FandolHei-Bold.otf , + ] + } + \__colorclass_if_font_exist:nnn { SourceHanMonoSC-Regular } + { + \setCJKfamilyfont { SCmono } { SourceHanMonoSC-Regular } + [ + BoldFont = SourceHanMonoSC-Medium , + ItalicFont = * , + BoldItalicFont = SourceHanMonoSC-Medium , + ] + } + { + \setCJKfamilyfont { SCmono } { FandolFang-Regular.otf } + [ + BoldFont = * , + BoldFeatures = { FakeBold = 4 } , + ItalicFont = * , + BoldItalicFont = * , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + } + + \bool_if:NT \g__projlib_language_enabled_tchinese_bool + { + \__colorclass_if_font_exist:nnn { SourceHanSerifTC-Regular } + { + \setCJKfamilyfont { TCmain } { SourceHanSerifTC-Regular } + [ + BoldFont = SourceHanSerifTC-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSerifTC-Bold , + ] + } + { + \setCJKfamilyfont { TCmain } { FandolSong-Regular.otf } + [ + BoldFont = FandolSong-Bold.otf , + ItalicFont = FandolKai-Regular.otf , + BoldItalicFont = FandolKai-Regular.otf , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + \__colorclass_if_font_exist:nnn { SourceHanSansTC-Regular } + { + \setCJKfamilyfont { TCsans } { SourceHanSansTC-Regular } + [ + BoldFont = SourceHanSansTC-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSansTC-Bold , + ] + } + { + \setCJKfamilyfont { TCsans } { FandolHei-Regular.otf } + [ + BoldFont = FandolHei-Bold.otf , + ItalicFont = * , + BoldItalicFont = FandolHei-Bold.otf , + ] + } + \__colorclass_if_font_exist:nnn { SourceHanMonoTC-Regular } + { + \setCJKfamilyfont { TCmono } { SourceHanMonoTC-Regular } + [ + BoldFont = SourceHanMonoTC-Medium , + ItalicFont = * , + BoldItalicFont = SourceHanMonoTC-Medium , + ] + } + { + \setCJKfamilyfont { TCmono } { FandolFang-Regular.otf } + [ + BoldFont = * , + BoldFeatures = { FakeBold = 4 } , + ItalicFont = * , + BoldItalicFont = * , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + } + + \bool_if:NT \g__projlib_language_enabled_japanese_bool + { + \__colorclass_if_font_exist:nnn { SourceHanSerif-Regular } + { + \setCJKfamilyfont { JPmain } { SourceHanSerif-Regular } + [ + BoldFont = SourceHanSerif-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSerif-Bold , + ] + } + { + \setCJKfamilyfont { JPmain } { FandolSong-Regular.otf } + [ + BoldFont = FandolSong-Bold.otf , + ItalicFont = FandolKai-Regular.otf , + BoldItalicFont = FandolKai-Regular.otf , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + \__colorclass_if_font_exist:nnn { SourceHanSans-Regular } + { + \setCJKfamilyfont { JPsans } { SourceHanSans-Regular } + [ + BoldFont = SourceHanSans-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSans-Bold , + ] + } + { + \setCJKfamilyfont { JPsans } { FandolHei-Regular.otf } + [ + BoldFont = FandolHei-Bold.otf , + ItalicFont = * , + BoldItalicFont = FandolHei-Bold.otf , + ] + } + \__colorclass_if_font_exist:nnn { SourceHanMono-Regular } + { + \setCJKfamilyfont { JPmono } { SourceHanMono-Regular } + [ + BoldFont = SourceHanMono-Medium , + ItalicFont = * , + BoldItalicFont = SourceHanMono-Medium , + ] + } + { + \setCJKfamilyfont { JPmono } { FandolFang-Regular.otf } + [ + BoldFont = * , + BoldFeatures = { FakeBold = 4 } , + ItalicFont = * , + BoldItalicFont = * , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + } + + \cs_new:Nn \colorclass_cjk_sffamily: {} + \cs_new:Nn \colorclass_cjk_ttfamily: {} + + \hook_gput_code:nnn { cmd/sffamily/after } { colorclass } { \colorclass_cjk_sffamily: } + \hook_gput_code:nnn { cmd/ttfamily/after } { colorclass } { \colorclass_cjk_ttfamily: } + + \AddLanguageSetting [schinese] + { + \cs_set:Nn \colorclass_cjk_sffamily: { \CJKfamily { SCsans } } + \cs_set:Nn \colorclass_cjk_ttfamily: { \CJKfamily { SCmono } } + \CJKfamily { SCmain } + } + \AddLanguageSetting [tchinese] + { + \cs_set:Nn \colorclass_cjk_sffamily: { \CJKfamily { TCsans } } + \cs_set:Nn \colorclass_cjk_ttfamily: { \CJKfamily { TCmono } } + \CJKfamily { TCmain } + } + \AddLanguageSetting [japanese] + { + \cs_set:Nn \colorclass_cjk_sffamily: { \CJKfamily { JPsans } } + \cs_set:Nn \colorclass_cjk_ttfamily: { \CJKfamily { JPmono } } + \CJKfamily { JPmain } + } + } + + \__colorclass_load_file_or_config:Nnn \l__colorclass_load_custom_font_file_math_bool { \l__colorclass_custom_font_file_math_str } + { + \bool_if:NF \g_projlib_font_already_set_bool + { + \bool_if:NTF \l__colorclass_fast_bool + { + \RequirePackage { amssymb } + } + { + \PassOptionsToPackage { warnings-off = { mathtools-colon, mathtools-overbracket } } { unicode-math } + \RequirePackage { unicode-math } + \unimathsetup { math-style = ISO, partial = upright, nabla = upright } + \setmathfont { Asana-Math.otf } + \__colorclass_if_font_exist:nnn { Neo~Euler } + { + \setmathfont { Neo~Euler } + [ + range = { up / { Latin, latin, Greek, greek }, + bfup / { Latin, latin, Greek, greek }, + cal, bfcal, frak, bffrak, + `(, `), `[, `], `\{, `\}, `:, `=, \ne, \equiv, `/, \backslash, + \in, \notin, \ni, \subset, \supset, \subseteq, \supseteq, + \rightarrow, \leftarrow, \leftrightarrow, + \longleftarrow, \longrightarrow, \longleftrightarrow, + \Leftarrow, \Rightarrow, \Leftrightarrow, + \Longleftarrow, \Longrightarrow, \Longleftrightarrow, + \nrightarrow, \nleftarrow, \nleftrightarrow, + \nLeftarrow, \nRightarrow, \nLeftrightarrow, + \mapsto, \hookrightarrow, \hookleftarrow, + \leftharpoonup, \rightharpoonup, \leftharpoondown, \rightharpoondown, + \rightleftharpoons, \leftrightharpoons, + \sum, \prod, \coprod, + \sqrt, \int, \iint, \iiint, \oint + }, + script-features = {}, + sscript-features = {}, + Scale = 1.05, + ] + }{} + \setmathfont { latinmodern-math.otf } + [ + range = { \leq, \geq, \ll, \gg, \lll, \ggg, \leqslant, \geqslant }, + Scale = 0.95, + ] + \setmathfont { texgyrepagella-math.otf } + [ + range = { up / num, bfup / num } + ] + + \hook_gput_code:nnn { begindocument } { colorclass } + { + \NewCommandCopy \colorclass_backup_mid: \mid + \RenewDocumentCommand \mid {} + { \skip_horizontal:n {-.15em} \colorclass_backup_mid: \skip_horizontal:n {-.15em} } + \NewCommandCopy \colorclass_backup_nmid: \nmid + \RenewDocumentCommand \nmid {} + { \skip_horizontal:n {-.15em} \colorclass_backup_nmid: \skip_horizontal:n {-.15em} } + } + + \RequirePackage { tikz-cd } + + \box_new:N \l__colorclass_xarrows_above_box + \box_new:N \l__colorclass_xarrows_below_box + \dim_new:N \l__colorclass_xarrows_length_dim + \cs_new_protected:Nn \colorclass_xarrows_generic:nnnn + % #3 = option of \tikz + % #4 = edge of \draw + { + \hbox_set:Nn \l__colorclass_xarrows_below_box { \ensuremath { \scriptstyle #1 } } + \hbox_set:Nn \l__colorclass_xarrows_above_box { \ensuremath { \scriptstyle #2 } } + \dim_set:Nn \l__colorclass_xarrows_length_dim + { \dim_eval:n { \dim_max:nn { \box_wd:N \l__colorclass_xarrows_below_box } { \box_wd:N \l__colorclass_xarrows_above_box } + .8em } } + \mathrel + { + \tikz [ #3, baseline = -.55ex, every~node/.style = { inner~sep = 0pt } ] + \draw (0,0) #4 + node [ below = 3pt ] { \box_use:N \l__colorclass_xarrows_below_box } + node [ above = 2pt ] { \box_use:N \l__colorclass_xarrows_above_box } + ( \l__colorclass_xarrows_length_dim ,0) ; + } + } + + \RenewDocumentCommand \xrightarrow { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } { -> } { -- } + } + \RenewDocumentCommand \xleftarrow { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } { <- } { -- } + } + \RenewDocumentCommand \xleftrightarrow { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } { <-> } { -- } + } + \RenewDocumentCommand \xhookrightarrow { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } {} { edge [ commutative~diagrams/hookrightarrow ] } + } + \RenewDocumentCommand \xhookleftarrow { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } {} { edge [ commutative~diagrams/hookleftarrow ] } + } + \RenewDocumentCommand \xmapsto { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } {} { edge [ commutative~diagrams/mapsto ] } + } + \NewDocumentCommand \xlongequal { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } {} { edge [ commutative~diagrams/equal ] } + } + \hook_gput_code:nnn { begindocument/end } { colorclass } + { + \RenewDocumentCommand \twoheadrightarrow {} + { + \colorclass_xarrows_generic:nnnn { \,\, } {} {} { edge [ commutative~diagrams/twoheadrightarrow ] } + } + \RenewDocumentCommand \twoheadleftarrow {} + { + \colorclass_xarrows_generic:nnnn { \,\, } {} {} { edge [ commutative~diagrams/twoheadleftarrow ] } + } + } + } + } + } + } + +\PassOptionsToPackage { all } { nowidow } +\RequirePackage { nowidow } +\RequirePackage { embrac } %%================================ -%% Graphics +%% Graphics %%================================ -\RequirePackage{graphicx} -\graphicspath{{images/}} -\RequirePackage{wrapfig} -\RequirePackage{float} -\RequirePackage{caption} -\captionsetup{font=small} +\RequirePackage { graphicx } +\graphicspath { { images/ } } +\RequirePackage { wrapfig } +\RequirePackage { float } +\RequirePackage { caption } +\captionsetup { font = small } \endinput %% diff --git a/Master/texmf-dist/tex/latex/colorist/colorart.cls b/Master/texmf-dist/tex/latex/colorist/colorart.cls index abd20901e25..cbacee3853b 100644 --- a/Master/texmf-dist/tex/latex/colorist/colorart.cls +++ b/Master/texmf-dist/tex/latex/colorist/colorart.cls @@ -2,7 +2,7 @@ %% This is file `colorist/colorart.cls', %% generated with the docstrip utility. -%% Copyright (C) 2021 by Jinwen XU +%% Copyright (C) 2021-2022 by Jinwen XU %% %% This is part of the colorist class series. %% @@ -16,211 +16,157 @@ %% 2005/12/01 or later. %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] -\ProvidesClass{colorart} - [2021/12/16 A colorful article style] -\def\colorclass@baseclass{article} -\RequirePackage{kvoptions} -\RequirePackage{etoolbox} -\SetupKeyvalOptions{ - family = @colorclass, - prefix = @colorclass@, -} -\DeclareBoolOption[false]{draft} -\DeclareBoolOption[false]{fast} -\DeclareBoolOption[false]{useosf} -\DeclareBoolOption[false]{lmodern} -\DeclareBoolOption[false]{palatino} -\DeclareBoolOption[false]{times} -\DeclareBoolOption[false]{garamond} -\DeclareBoolOption[false]{noto} -\DeclareBoolOption[false]{biolinum} -\DeclareBoolOption[false]{customfont} -\DeclareStringOption{thmnum}[PJL@thmnum@default] - -\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse -\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue} -\newif\if@colorclass@afourpaper\@colorclass@afourpaperfalse -\DeclareVoidOption{a4paper}{\@colorclass@afourpapertrue} - -\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\colorclass@baseclass}} -\ProcessKeyvalOptions*\relax -\LoadClass{\colorclass@baseclass} - -\if@colorclass@draft - \@colorclass@fasttrue -\fi -\if@colorclass@lmodern - \@colorclass@customfonttrue -\fi -\if@colorclass@palatino - \@colorclass@customfonttrue -\fi -\if@colorclass@times - \@colorclass@customfonttrue -\fi -\if@colorclass@garamond - \@colorclass@customfonttrue -\fi -\if@colorclass@noto - \@colorclass@customfonttrue -\fi -\if@colorclass@biolinum - \@colorclass@customfonttrue -\fi +\RequirePackage{l3keys2e} +\ProvidesExplClass + {colorart} + {2022/03/19} {} + {A colorful article style} + +\tl_const:Nn \l__colorclass_base_class_tl { article } + + +\bool_new:N \l__colorclass_load_custom_font_file_bool +\bool_set_false:N \l__colorclass_load_custom_font_file_bool + + +\keys_define:nn { colorclass } + { + , draft .bool_set:N = \l__colorclass_fast_bool + , draft .initial:n = { false } + , fast .bool_set:N = \l__colorclass_fast_bool + + + , load custom font file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_bool + \str_set:Nn \l__colorclass_custom_font_file_str { #1 } + } + , load custom font file .default:n = { colorist.font } + , load~custom~font~file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_bool + \str_set:Nn \l__colorclass_custom_font_file_str { #1 } + } + , load~custom~font~file .default:n = { colorist.font } + , load-custom-font-file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_bool + \str_set:Nn \l__colorclass_custom_font_file_str { #1 } + } + , load-custom-font-file .default:n = { colorist.font } + + + , a4paper .bool_set:N = \l__colorclass_a_four_paper_bool + , a4paper .initial:n = { false } + , b5paper .bool_set:N = \l__colorclass_b_five_paper_bool + , b5paper .initial:n = { false } + + , 11pt .code:n = { \PassOptionsToClass { \CurrentOption } { \l__colorclass_base_class_tl } } + , 12pt .code:n = { \PassOptionsToClass { \CurrentOption } { \l__colorclass_base_class_tl } } + + , unknown .code:n = { + \PassOptionsToPackage { \CurrentOption } { colorist } + } + } +\ProcessKeysOptions { colorclass } + +\LoadClass{\l__colorclass_base_class_tl} %%================================ -%% Page layout +%% Page layout %%================================ -\RequirePackage{silence} -\WarningFilter{geometry}{Over-specification in} -\RequirePackage[heightrounded]{geometry} -\geometry{ - papersize={8.5in,11in}, - % total={47em,66em}, - total={6.500in,9.130in}, - hmarginratio=1:1, - vmarginratio=1:1, - footnotesep=2em plus 2pt minus 2pt, -} -\if@colorclass@bfivepaper -\geometry{ - b5paper, - % total={40em,59em}, - total={5.535in,8.160in}, - hmarginratio=1:1, - vmarginratio=1:1, - footnotesep=2em plus 2pt minus 2pt, -} -\fi -\if@colorclass@afourpaper -\geometry{ - a4paper, - % total={47em,70em}, - total={6.500in,9.685in}, - hmarginratio=1:1, - vmarginratio=1:1, - footnotesep=2em plus 2pt minus 2pt, -} -\fi - -\RequirePackage{indentfirst} - -\if@colorclass@fast - \PassOptionsToPackage{fast}{colorist} - \RequirePackage{draftwatermark} - \DraftwatermarkOptions{text={\normalfont DRAFT},color=paper!95!-paper} -\fi - -\RequirePackage{colorist} +\RequirePackage { silence } +\WarningFilter { geometry } { Over-specification } + +\PassOptionsToPackage { heightrounded } { geometry } +\RequirePackage { geometry } + +\geometry + { + papersize = { 8.5in, 11in }, + total = { 6.500in, 9.130in }, + centering, + footnotesep = 2em plus 2pt minus 2pt, + } + +\bool_if:NT \l__colorclass_b_five_paper_bool + { + \geometry + { + b5paper, + total = { 5.535in, 8.160in }, + centering, + footnotesep = 2em plus 2pt minus 2pt, + } + } + +\bool_if:NT \l__colorclass_a_four_paper_bool + { + \geometry + { + a4paper, + total = { 6.500in, 9.685in }, + centering, + footnotesep = 2em plus 2pt minus 2pt, + } + } + +\bool_if:NT \l__colorclass_fast_bool + { + \PassOptionsToPackage { fast } { colorist } + \RequirePackage { draftwatermark } + \DraftwatermarkOptions { text = { \normalfont DRAFT }, color = paper!97!-paper } + } + +\RequirePackage { indentfirst } + +\RequirePackage { colorist } + +\hfuzz=2pt +\vfuzz=2pt %%================================ -%% Fonts +%% Fonts %%================================ -\RequirePackage{iftex} -\ifPDFTeX -\RequirePackage[T1]{fontenc} -\RequirePackage{inputenc} -\fi -\if@colorclass@customfont\else -\RequirePackage{mathpazo} -\RequirePackage{newpxtext} -\fi -\RequirePackage{amssymb} - -\if@colorclass@lmodern - \RequirePackage{amssymb} - \if@colorclass@useosf - \RequirePackage{cfr-lm} - \else - \RequirePackage{lmodern} - \fi - \PJLsetlinespacing{\setstretch{1.00}} -\fi - -\if@colorclass@palatino - \RequirePackage{amssymb} - \RequirePackage{mathpazo} - \PassOptionsToPackage{defaultsups}{newpxtext} - \RequirePackage{newpxtext} - % \RequirePackage{newpxmath} - \let\openbox\relax - \PJLsetlinespacing{\setstretch{1.07}} - \if@colorclass@useosf\useosf\fi -\fi - -\if@colorclass@times - \RequirePackage{amssymb} - \PassOptionsToPackage{defaultsups}{newtxtext} - \RequirePackage{newtxtext} - \RequirePackage{newtxmath} - \let\openbox\relax - \PJLsetlinespacing{\setstretch{1.00}} - \if@colorclass@useosf\useosf\fi - \let\colorist@textsc\relax -\fi - -\if@colorclass@garamond - \RequirePackage{amssymb} - \if@colorclass@useosf\else - \PassOptionsToPackage{lining}{ebgaramond} - \fi - \RequirePackage{ebgaramond-maths} - \RequirePackage{ebgaramond} - % \RequirePackage{garamondlibre} - \PJLsetlinespacing{\setstretch{1.00}} - \let\colorist@textsc\relax -\fi - -\if@colorclass@noto - \RequirePackage{amssymb} - \if@colorclass@useosf - \PassOptionsToPackage{oldstyle}{notomath} - \fi - \RequirePackage{anyfontsize} - \RequirePackage{notomath} - \PJLsetlinespacing{\setstretch{1.00}} -\fi - -\if@colorclass@biolinum - \RequirePackage{amssymb} - % \RequirePackage{mathpazo} - % \RequirePackage[sansmath]{libertinust1math} - \ifPDFTeX - \if@colorclass@useosf - \PassOptionsToPackage{osf}{biolinum} - \fi - \RequirePackage{biolinum} - \renewcommand*\familydefault{\biolinum@family} - \else - \PassOptionsToPackage{no-math}{fontspec} - \RequirePackage{fontspec} - \setmainfont{LinBiolinum_R.otf}[ - BoldFont = LinBiolinum_RB.otf , - ItalicFont = LinBiolinum_RI.otf , - BoldItalicFont = LinBiolinum_RBO.otf, - \if@colorclass@useosf Numbers = OldStyle\fi ] - \fi - \PJLsetlinespacing{\setstretch{1.05}} - \RequirePackage[italic,defaultmathsizes]{mathastext} -\fi - -\def\PJL@font@alreadyset{} - -\PassOptionsToPackage{verbose=silent}{microtype} -\RequirePackage{microtype} -\PassOptionsToPackage{all}{nowidow} -\RequirePackage{nowidow} -\RequirePackage{embrac} +\WarningFilter { latexfont } { Font~shape } +\WarningFilter { latexfont } { Some~font } + +\cs_new_protected:Nn \__colorclass_load_file_or_config:Nnn + { + \bool_if:NT #1 + { + \exp_args:Nx \file_if_exist:nT { #2 } + { + \exp_args:Nx \file_input:n { #2 } + \use_none:nn + } + } + \use:n { #3 } + } + + +\__colorclass_load_file_or_config:Nnn \l__colorclass_load_custom_font_file_bool { \l__colorclass_custom_font_file_str } + { + \RequirePackage { projlib-font } + + \bool_if:NF \g_projlib_font_already_set_bool + { + \RequirePackage { mathpazo } + \RequirePackage { newpxtext } + \RequirePackage { amssymb } + } + } + +\PassOptionsToPackage { all } { nowidow } +\RequirePackage { nowidow } +\RequirePackage { embrac } %%================================ -%% Graphics +%% Graphics %%================================ -\RequirePackage{graphicx} -\graphicspath{{images/}} -\RequirePackage{wrapfig} -\RequirePackage{float} -\RequirePackage{caption} -\captionsetup{font=small} +\RequirePackage { graphicx } +\graphicspath { { images/ } } +\RequirePackage { wrapfig } +\RequirePackage { float } +\RequirePackage { caption } +\captionsetup { font = small } \endinput %% diff --git a/Master/texmf-dist/tex/latex/colorist/colorbook.cls b/Master/texmf-dist/tex/latex/colorist/colorbook.cls index a2ee22f3def..ce2d27ce8b9 100644 --- a/Master/texmf-dist/tex/latex/colorist/colorbook.cls +++ b/Master/texmf-dist/tex/latex/colorist/colorbook.cls @@ -2,7 +2,7 @@ %% This is file `colorist/colorbook.cls', %% generated with the docstrip utility. -%% Copyright (C) 2021 by Jinwen XU +%% Copyright (C) 2021-2022 by Jinwen XU %% %% This is part of the colorist class series. %% @@ -16,211 +16,157 @@ %% 2005/12/01 or later. %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] -\ProvidesClass{colorbook} - [2021/12/16 A colorful book style] -\def\colorclass@baseclass{book} -\RequirePackage{kvoptions} -\RequirePackage{etoolbox} -\SetupKeyvalOptions{ - family = @colorclass, - prefix = @colorclass@, -} -\DeclareBoolOption[false]{draft} -\DeclareBoolOption[false]{fast} -\DeclareBoolOption[false]{useosf} -\DeclareBoolOption[false]{lmodern} -\DeclareBoolOption[false]{palatino} -\DeclareBoolOption[false]{times} -\DeclareBoolOption[false]{garamond} -\DeclareBoolOption[false]{noto} -\DeclareBoolOption[false]{biolinum} -\DeclareBoolOption[false]{customfont} -\DeclareStringOption{thmnum}[PJL@thmnum@default] - -\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse -\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue} -\newif\if@colorclass@afourpaper\@colorclass@afourpaperfalse -\DeclareVoidOption{a4paper}{\@colorclass@afourpapertrue} - -\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\colorclass@baseclass}} -\ProcessKeyvalOptions*\relax -\LoadClass{\colorclass@baseclass} - -\if@colorclass@draft - \@colorclass@fasttrue -\fi -\if@colorclass@lmodern - \@colorclass@customfonttrue -\fi -\if@colorclass@palatino - \@colorclass@customfonttrue -\fi -\if@colorclass@times - \@colorclass@customfonttrue -\fi -\if@colorclass@garamond - \@colorclass@customfonttrue -\fi -\if@colorclass@noto - \@colorclass@customfonttrue -\fi -\if@colorclass@biolinum - \@colorclass@customfonttrue -\fi +\RequirePackage{l3keys2e} +\ProvidesExplClass + {colorbook} + {2022/03/19} {} + {A colorful book style} + +\tl_const:Nn \l__colorclass_base_class_tl { book } + + +\bool_new:N \l__colorclass_load_custom_font_file_bool +\bool_set_false:N \l__colorclass_load_custom_font_file_bool + + +\keys_define:nn { colorclass } + { + , draft .bool_set:N = \l__colorclass_fast_bool + , draft .initial:n = { false } + , fast .bool_set:N = \l__colorclass_fast_bool + + + , load custom font file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_bool + \str_set:Nn \l__colorclass_custom_font_file_str { #1 } + } + , load custom font file .default:n = { colorist.font } + , load~custom~font~file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_bool + \str_set:Nn \l__colorclass_custom_font_file_str { #1 } + } + , load~custom~font~file .default:n = { colorist.font } + , load-custom-font-file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_bool + \str_set:Nn \l__colorclass_custom_font_file_str { #1 } + } + , load-custom-font-file .default:n = { colorist.font } + + + , a4paper .bool_set:N = \l__colorclass_a_four_paper_bool + , a4paper .initial:n = { false } + , b5paper .bool_set:N = \l__colorclass_b_five_paper_bool + , b5paper .initial:n = { false } + + , 11pt .code:n = { \PassOptionsToClass { \CurrentOption } { \l__colorclass_base_class_tl } } + , 12pt .code:n = { \PassOptionsToClass { \CurrentOption } { \l__colorclass_base_class_tl } } + + , unknown .code:n = { + \PassOptionsToPackage { \CurrentOption } { colorist } + } + } +\ProcessKeysOptions { colorclass } + +\LoadClass{\l__colorclass_base_class_tl} %%================================ -%% Page layout +%% Page layout %%================================ -\RequirePackage{silence} -\WarningFilter{geometry}{Over-specification in} -\RequirePackage[heightrounded]{geometry} -\geometry{ - papersize={8.5in,11in}, - % total={47em,66em}, - total={6.500in,9.130in}, - hmarginratio=1:1, - vmarginratio=1:1, - footnotesep=2em plus 2pt minus 2pt, -} -\if@colorclass@bfivepaper -\geometry{ - b5paper, - % total={40em,59em}, - total={5.535in,8.160in}, - hmarginratio=1:1, - vmarginratio=1:1, - footnotesep=2em plus 2pt minus 2pt, -} -\fi -\if@colorclass@afourpaper -\geometry{ - a4paper, - % total={47em,70em}, - total={6.500in,9.685in}, - hmarginratio=1:1, - vmarginratio=1:1, - footnotesep=2em plus 2pt minus 2pt, -} -\fi - -\RequirePackage{indentfirst} - -\if@colorclass@fast - \PassOptionsToPackage{fast}{colorist} - \RequirePackage{draftwatermark} - \DraftwatermarkOptions{text={\normalfont DRAFT},color=paper!95!-paper} -\fi - -\RequirePackage{colorist} +\RequirePackage { silence } +\WarningFilter { geometry } { Over-specification } + +\PassOptionsToPackage { heightrounded } { geometry } +\RequirePackage { geometry } + +\geometry + { + papersize = { 8.5in, 11in }, + total = { 6.500in, 9.130in }, + centering, + footnotesep = 2em plus 2pt minus 2pt, + } + +\bool_if:NT \l__colorclass_b_five_paper_bool + { + \geometry + { + b5paper, + total = { 5.535in, 8.160in }, + centering, + footnotesep = 2em plus 2pt minus 2pt, + } + } + +\bool_if:NT \l__colorclass_a_four_paper_bool + { + \geometry + { + a4paper, + total = { 6.500in, 9.685in }, + centering, + footnotesep = 2em plus 2pt minus 2pt, + } + } + +\bool_if:NT \l__colorclass_fast_bool + { + \PassOptionsToPackage { fast } { colorist } + \RequirePackage { draftwatermark } + \DraftwatermarkOptions { text = { \normalfont DRAFT }, color = paper!97!-paper } + } + +\RequirePackage { indentfirst } + +\RequirePackage { colorist } + +\hfuzz=2pt +\vfuzz=2pt %%================================ -%% Fonts +%% Fonts %%================================ -\RequirePackage{iftex} -\ifPDFTeX -\RequirePackage[T1]{fontenc} -\RequirePackage{inputenc} -\fi -\if@colorclass@customfont\else -\RequirePackage{mathpazo} -\RequirePackage{newpxtext} -\fi -\RequirePackage{amssymb} - -\if@colorclass@lmodern - \RequirePackage{amssymb} - \if@colorclass@useosf - \RequirePackage{cfr-lm} - \else - \RequirePackage{lmodern} - \fi - \PJLsetlinespacing{\setstretch{1.00}} -\fi - -\if@colorclass@palatino - \RequirePackage{amssymb} - \RequirePackage{mathpazo} - \PassOptionsToPackage{defaultsups}{newpxtext} - \RequirePackage{newpxtext} - % \RequirePackage{newpxmath} - \let\openbox\relax - \PJLsetlinespacing{\setstretch{1.07}} - \if@colorclass@useosf\useosf\fi -\fi - -\if@colorclass@times - \RequirePackage{amssymb} - \PassOptionsToPackage{defaultsups}{newtxtext} - \RequirePackage{newtxtext} - \RequirePackage{newtxmath} - \let\openbox\relax - \PJLsetlinespacing{\setstretch{1.00}} - \if@colorclass@useosf\useosf\fi - \let\colorist@textsc\relax -\fi - -\if@colorclass@garamond - \RequirePackage{amssymb} - \if@colorclass@useosf\else - \PassOptionsToPackage{lining}{ebgaramond} - \fi - \RequirePackage{ebgaramond-maths} - \RequirePackage{ebgaramond} - % \RequirePackage{garamondlibre} - \PJLsetlinespacing{\setstretch{1.00}} - \let\colorist@textsc\relax -\fi - -\if@colorclass@noto - \RequirePackage{amssymb} - \if@colorclass@useosf - \PassOptionsToPackage{oldstyle}{notomath} - \fi - \RequirePackage{anyfontsize} - \RequirePackage{notomath} - \PJLsetlinespacing{\setstretch{1.00}} -\fi - -\if@colorclass@biolinum - \RequirePackage{amssymb} - % \RequirePackage{mathpazo} - % \RequirePackage[sansmath]{libertinust1math} - \ifPDFTeX - \if@colorclass@useosf - \PassOptionsToPackage{osf}{biolinum} - \fi - \RequirePackage{biolinum} - \renewcommand*\familydefault{\biolinum@family} - \else - \PassOptionsToPackage{no-math}{fontspec} - \RequirePackage{fontspec} - \setmainfont{LinBiolinum_R.otf}[ - BoldFont = LinBiolinum_RB.otf , - ItalicFont = LinBiolinum_RI.otf , - BoldItalicFont = LinBiolinum_RBO.otf, - \if@colorclass@useosf Numbers = OldStyle\fi ] - \fi - \PJLsetlinespacing{\setstretch{1.05}} - \RequirePackage[italic,defaultmathsizes]{mathastext} -\fi - -\def\PJL@font@alreadyset{} - -\PassOptionsToPackage{verbose=silent}{microtype} -\RequirePackage{microtype} -\PassOptionsToPackage{all}{nowidow} -\RequirePackage{nowidow} -\RequirePackage{embrac} +\WarningFilter { latexfont } { Font~shape } +\WarningFilter { latexfont } { Some~font } + +\cs_new_protected:Nn \__colorclass_load_file_or_config:Nnn + { + \bool_if:NT #1 + { + \exp_args:Nx \file_if_exist:nT { #2 } + { + \exp_args:Nx \file_input:n { #2 } + \use_none:nn + } + } + \use:n { #3 } + } + + +\__colorclass_load_file_or_config:Nnn \l__colorclass_load_custom_font_file_bool { \l__colorclass_custom_font_file_str } + { + \RequirePackage { projlib-font } + + \bool_if:NF \g_projlib_font_already_set_bool + { + \RequirePackage { mathpazo } + \RequirePackage { newpxtext } + \RequirePackage { amssymb } + } + } + +\PassOptionsToPackage { all } { nowidow } +\RequirePackage { nowidow } +\RequirePackage { embrac } %%================================ -%% Graphics +%% Graphics %%================================ -\RequirePackage{graphicx} -\graphicspath{{images/}} -\RequirePackage{wrapfig} -\RequirePackage{float} -\RequirePackage{caption} -\captionsetup{font=small} +\RequirePackage { graphicx } +\graphicspath { { images/ } } +\RequirePackage { wrapfig } +\RequirePackage { float } +\RequirePackage { caption } +\captionsetup { font = small } \endinput %% diff --git a/Master/texmf-dist/tex/latex/colorist/colorist-fancy.sty b/Master/texmf-dist/tex/latex/colorist/colorist-fancy.sty new file mode 100644 index 00000000000..2161c7065df --- /dev/null +++ b/Master/texmf-dist/tex/latex/colorist/colorist-fancy.sty @@ -0,0 +1,1026 @@ +%% +%% This is file `colorist/colorist-fancy.sty', +%% generated with the docstrip utility. + +%% Copyright (C) 2021-2022 by Jinwen XU +%% +%% This is part of the colorist class series. +%% +%% This work may be distributed and/or modified under the conditions of the +%% LaTeX Project Public License, either version 1.3c of this license or (at +%% your option) any later version. The latest version of this license is in +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3c or later is part of all distributions of LaTeX version +%% 2005/12/01 or later. +%% +\NeedsTeXFormat{LaTeX2e}[2020-10-01] +\RequirePackage{l3keys2e} +\ProvidesExplPackage + {colorist-fancy} + {2022/03/19} {} + {The fancy style of colorist} + +\@ifpackageloaded { colorist } {} + { + \msg_new:nnn { \@currname } + { colorist-not-loaded } + { "#1"~is~an~internal~style~of~"colorist".~To~use~it,~you~must~load~the~package~"colorist"~first. } + \msg_warning:nnx { \@currname } { colorist-not-loaded } { \@currname } + \endinput + } + +%%================================ +%% Title fonts +%%================================ +\RequirePackage { anyfontsize } + +\bool_if:NTF \l__colorist_use_boldface_bool + { + \cs_new:Nn \colorist_bfseries: { \bfseries \colorlet{colorist-temp-color}{.} \color{colorist-temp-color!90!paper} } + } + { + \cs_new:Nn \colorist_bfseries: {} + } + +\tl_new:N \g_colorist_title_font_common_tl + +\tl_new:N \g_colorist_title_font_part_tl +\tl_new:N \g_colorist_title_font_chapter_tl +\tl_new:N \g_colorist_title_font_section_tl +\tl_new:N \g_colorist_title_font_subsection_tl +\tl_new:N \g_colorist_title_font_subsubsection_tl +\tl_new:N \g_colorist_title_font_paragraph_tl + +\tl_gset:Nn \g_colorist_title_font_common_tl { \sffamily } +\tl_gset:Nn \g_colorist_title_font_part_tl { \colorist_bfseries: \g_colorist_title_font_common_tl } +\tl_gset:Nn \g_colorist_title_font_chapter_tl { \colorist_bfseries: \g_colorist_title_font_common_tl } +\tl_gset:Nn \g_colorist_title_font_section_tl { \colorist_bfseries: \g_colorist_title_font_common_tl } +\tl_gset:Nn \g_colorist_title_font_subsection_tl { \colorist_bfseries: \g_colorist_title_font_common_tl } +\tl_gset:Nn \g_colorist_title_font_subsubsection_tl { \colorist_bfseries: \g_colorist_title_font_common_tl } +\tl_gset:Nn \g_colorist_title_font_paragraph_tl { \colorist_bfseries: \g_colorist_title_font_common_tl } + +%%================================ +%% Color +%%================================ +\definecolor{maintheme}{RGB}{70,130,180} +\definecolor{forestgreen}{RGB}{21,122,81} +\definecolor{lightorange}{RGB}{255,185,88} + +%%================================ +%% Footer +%%================================ +\RequirePackage { geometry } +\RequirePackage { fancyhdr } +\RequirePackage { extramarks } + +\hook_gput_code:nnn { begindocument/before } { colorist } + { + \fancyhfoffset { 0pt } + } + +\tl_new:N \l_colorist_leftmark_tl +\tl_new:N \l_colorist_rightmark_tl + +\tl_set:Nn \l_colorist_leftmark_tl + { + \begin{minipage}[t]{.833\textwidth} + \lastleftmark + \end{minipage} + } +\tl_set:Nn \l_colorist_rightmark_tl + { + \begin{minipage}[t]{.833\textwidth} + \filleft + \lastrightmark + \end{minipage} + } + +\fancypagestyle { fancy } + { + \fancyhf{} + \if@twoside + \fancyfoot[RO]{\sffamily\textcolor{main-text!30!paper}{ \small \l_colorist_rightmark_tl } + \rlap{\nobreakspace\nobreakspace\nobreakspace\nobreakspace\textcolor{main-text!75!paper}{\textbf{\thepage}}}} + \fancyfoot[LE]{\leavevmode\sffamily\llap{\textcolor{main-text!75!paper}{\textbf{\thepage}} + \nobreakspace\nobreakspace\nobreakspace\nobreakspace} + \textcolor{main-text!30!paper}{ \l_colorist_leftmark_tl }} + \else + \fancyfoot[R]{\textcolor{main-text!30!paper}{ \l_colorist_rightmark_tl } + \rlap{\nobreakspace\nobreakspace\nobreakspace\nobreakspace\textcolor{main-text!75!paper}{\textbf{\thepage}}}} + \fi + \renewcommand{\headrulewidth}{0pt} + } +\pagestyle{fancy} + +\fancypagestyle { plain } + { + \fancyhf{} + \if@twoside + \fancyfoot[RO]{\sffamily + \nobreakspace\rlap{\nobreakspace\nobreakspace\nobreakspace\nobreakspace\textcolor{main-text!75!paper}{\textbf{\thepage}}}} + \fancyfoot[LE]{\leavevmode\sffamily\llap{\textcolor{main-text!75!paper}{\textbf{\thepage}} + \nobreakspace\nobreakspace}} + \else + \fancyfoot[R]{\sffamily + \nobreakspace\nobreakspace\nobreakspace\rlap{\textcolor{main-text!75!paper}{\textbf{\thepage}}}} + \fi + \renewcommand{\headrulewidth}{0pt} + } + +\bool_if:NTF \l__colorist_is_book_bool + { + \if@twoside + \renewcommand{\chaptermark}[1]{\markboth{\textsc{#1}}{}} + \else + \renewcommand{\chaptermark}[1]{\markboth{\textsc{#1}}{\textsc{#1}}} + \fi + \renewcommand*{\sectionmark}[1]{ + \markright{\thesection\nobreakspace\nobreakspace#1}} + } + { + \if@twoside + \renewcommand*{\sectionmark}[1]{\markboth{\textsc{#1}}{}} + \else + \renewcommand*{\sectionmark}[1]{\markboth{\textsc{#1}}{\textsc{#1}}} + \fi + } + +%%================================ +%% Title format +%%================================ +\RequirePackage [ explicit, newparttoc ] { titlesec } +\PassOptionsToPackage { normalem } { ulem } +\RequirePackage { ulem } + +\PassOptionsToPackage { many } { tcolorbox } +\RequirePackage { tcolorbox } +\bool_if:NT \l__colorist_fast_bool { \tcbstartdraftmode } + +\newcommand{\partstring}{\MakeUppercase{{\partname\nobreakspace\protect\thepart}}} + +\AddLanguageSetting + { + \renewcommand{\partstring}{\MakeUppercase{{\partname\nobreakspace\protect\thepart}}} + } +\AddLanguageSetting [ schinese ] + { + \renewcommand{\partstring}{第 \nobreakspace\thepart\nobreakspace 部分} + } +\AddLanguageSetting [ tchinese ] + { + \renewcommand{\partstring}{第 \nobreakspace\thepart\nobreakspace 部分} + } +\AddLanguageSetting [ japanese ] + { + \renewcommand{\partstring}{第 \nobreakspace\thepart\nobreakspace 部} + } + +\bool_if:NTF \l__colorist_is_book_bool + { + \setcounter{secnumdepth}{3} + + %% Part + \titleclass{\part}{top} % make part like a chapter + \titleformat{\part}[display] + { \g_colorist_title_font_part_tl \filleft} + { + \thispagestyle{empty} + \begin{tikzpicture}[remember~picture,overlay] + \fill[maintheme!10!paper] (current~page.north~west) rectangle (current~page.south~east); + \node at ($(current~page.north~west)+(15em,-15em)$) {\normalfont\textcolor{maintheme}{\scalebox{12}{\thepart}}}; + \end{tikzpicture} + } + {1em} + {\fontsize{20}{0}\selectfont\MakeUppercase{#1}} + \titleformat{name=\part,numberless}[display] + {% \phantomsection\addcontentsline{toc}{part}{#1}% + \g_colorist_title_font_part_tl \filleft} + { + \thispagestyle{empty} + \begin{tikzpicture}[remember~picture,overlay] + \fill[maintheme!10!paper] (current~page.north~west) rectangle (current~page.south~east); + \node at ($(current~page.north~west)+(15em,-15em)$) {\normalfont\textcolor{maintheme}{\scalebox{12}{$*$}}}; + \end{tikzpicture} + } + {1em} + {\fontsize{20}{0}\selectfont\MakeUppercase{#1}} + \titlespacing*{\part}{0pt}{5em}{6em} + %% Text after part + \newcommand{\parttext}[1]{ + \vfill + \begin{flushright} + \begin{minipage}{0.833\textwidth} + \color{main-text!80!paper}\raggedleft#1 + \end{minipage} + \end{flushright} + \vfill\vfill + \cleardoublepage + } + + %% Chapter + % Numbered chapter title: \TheChapter{}{} + \newcommand{\TheChapter}[2] + { + \tcbsidebyside[enhanced,sidebyside~adapt=right,sidebyside~align=bottom, + colback=paper,frame~hidden, + segmentation~code={ + \filldraw[maintheme] (segmentation.north) + -- ($(segmentation.east)-(12pt,0)$) + -- ($(segmentation.west)+(12pt,0)$) + -- (segmentation.south);} + ]{\filleft#2}{\normalfont\textcolor{maintheme}{\scalebox{4}{#1}}} + } + % Numberless chapter title: \TheChapterSingle{<title>} + \newcommand{\TheChapterSingle}[1] + { + \begin{tcolorbox}[ + enhanced, + width = 0.67\textwidth, + colback=paper,frame~hidden, + halign=center] + #1 + \vspace{-.6em} + \begin{center} + \begin{tikzpicture} + \filldraw[maintheme] (-4em,0) -- (4em,0) -- (0,-.1em) -- (0,.1em); + \end{tikzpicture} + \end{center} + \end{tcolorbox} + } + + \titleformat{name=\chapter} + { \g_colorist_title_font_chapter_tl \scshape\huge} % Format + {} % Label + {0mm} % Sep + {\TheChapter{\thechapter}{#1}} % Before-code + \titlespacing*{name=\chapter} + {0em}{*2}{0em} % {left}{before-sep}{after-sep} + + \titleformat{name=\chapter, numberless} + {\filcenter \g_colorist_title_font_chapter_tl \scshape\huge} + {} + {0mm} + {\TheChapterSingle{#1}} + \titlespacing*{name=\chapter, numberless} + {0em}{*2}{0em} + + %% Section + \titleformat{\section} + {\color{maintheme} \g_colorist_title_font_section_tl \large} + {\thesection}{.75em}{#1} + + %% Subsection + \titleformat{\subsection} + { \g_colorist_title_font_subsection_tl }{\thesubsection}{.75em} + {#1} + } + { + %% Part + \titleformat{\part}[display] + { \g_colorist_title_font_part_tl \filleft} + {\partstring} + {.3em} + {\fontsize{16}{0}\selectfont\MakeUppercase{#1}} + \titleformat{name=\part,numberless}[display] + {% \phantomsection\addcontentsline{toc}{part}{#1} + \g_colorist_title_font_part_tl \filleft} + {\phantom{\MakeUppercase{\partname}}} + {.3em} + {\fontsize{16}{0}\selectfont\MakeUppercase{#1}} + %% Text after part + \newcommand{\parttext}[1] + { + \begin{flushright} + \begin{minipage}{0.833\textwidth} + \color{main-text!80!paper}\raggedleft#1 + \end{minipage} + \end{flushright} + } + + %% Section + \titleformat{\section} + {\color{maintheme} \g_colorist_title_font_section_tl \large} + {\thesection}{.75em}{\scshape #1} + + %% Subsection + \titleformat{\subsection} + { \g_colorist_title_font_subsection_tl }{\thesubsection}{.75em} + {#1} + } + +%% Subsubsection +\bool_if:NTF \l__colorist_runin_bool + { + \titleformat{\subsubsection}[runin] + {\color{main-text!70!paper} \g_colorist_title_font_subsubsection_tl } + {\thesubsubsection} + {.5em} + {#1.} + [\hspace*{.3em}] + } + { + \titleformat{\subsubsection} + {\color{main-text!70!paper} \g_colorist_title_font_subsubsection_tl } + {\thesubsubsection} + {.5em} + {#1} + } + +%% Paragraph +\titleformat{\paragraph}[runin] + { \g_colorist_title_font_paragraph_tl }{\theparagraph}{1em}{#1} + +\titlespacing{\section}{0pt}{\baselineskip}{.6\baselineskip} +\titlespacing{\subsection}{0pt}{.75\baselineskip}{.4\baselineskip} +\titlespacing{\subsubsection}{0pt}{.5\baselineskip}{.3\baselineskip} + +%%================================ +%% ToC format +%%================================ +\RequirePackage { titletoc } +\titlecontents{part} + [0em] + {\addvspace{1.5pc}\large\filcenter\sffamily \colorist_bfseries: } + {\textcolor{maintheme}{\bfseries\thecontentslabel}\nopagebreak\\\nopagebreak\uppercase} + {} + {} % without page number + [\addvspace{.5pc}] + +\bool_if:NTF \l__colorist_is_book_bool + { + \titlecontents{chapter} + [2em] % i.e., 0em (part) + 2em + {\addvspace{1pc}\normalfont\color{maintheme}\sffamily \colorist_bfseries: } + {\contentslabel{2em}} + {\scshape\hspace*{-2em}} + {\titlerule*[10pt]{\parbox{3pt}{\hspace*{-.25pt}\textcolor{main-text!15!paper}{.}}}\color{maintheme}\contentspage} + \titlecontents{section} + [4em] % i.e., 2em (chapter) + 2em + {\addvspace{.3pc}\normalfont\color{maintheme}\sffamily} + {\contentslabel{1.75em}} + {\hspace*{-1.75em}} + {\titlerule*[10pt]{\parbox{3pt}{\textcolor{main-text!15!paper}{.}}}\color{maintheme}\contentspage} + \titlecontents{subsection} + [7em] % i.e., 4em (section) + 3em + {\addvspace{.15pc}\normalfont\sffamily} + {\contentslabel{2.75em}} + {\hspace*{-2.75em}} + {\titlerule*[10pt]{\parbox{3pt}{\textcolor{main-text!15!paper}{.}}}\color{main-text!45!paper}\contentspage} + \titlecontents{subsubsection} + [10em] % i.e., 7em (subsection) + 3em + {\normalfont\sffamily} + {\contentslabel{3.25em}} + {\hspace*{-3.25em}} + {\titlerule*[10pt]{\parbox{3pt}{\textcolor{main-text!15!paper}{.}}}\color{main-text!45!paper}\contentspage} + } + { + \titlecontents{section} + [2em] % i.e., 0em (part) + 2em + {\addvspace{.3pc}\normalfont\color{maintheme}\sffamily} + {\contentslabel{1.75em}} + {\hspace*{-1.75em}} + {\titlerule*[10pt]{\parbox{3pt}{\textcolor{main-text!15!paper}{.}}}\color{maintheme}\contentspage} + \titlecontents{subsection} + [4.5em] % i.e., 2em (section) + 2.5em + {\addvspace{.15pc}\normalfont\sffamily} + {\contentslabel{2.15em}} + {\hspace*{-2.15em}} + {\titlerule*[10pt]{\parbox{3pt}{\textcolor{main-text!15!paper}{.}}}\color{main-text!45!paper}\contentspage} + \titlecontents{subsubsection} + [7.75em] % i.e., 5em (subsection) + 3.25em + {\normalfont\sffamily} + {\contentslabel{2.75em}} + {\hspace*{-2.75em}} + {\titlerule*[10pt]{\parbox{3pt}{\textcolor{main-text!15!paper}{.}}}\color{main-text!45!paper}\contentspage} + } + +%%================================ +%% Lists +%%================================ +\RequirePackage { enumitem } +\setlist{noitemsep} +\setlist[enumerate]{labelsep=*, leftmargin=*} +\setlist[enumerate,1]{label=\arabic*$)$, + ref = \arabic*$)$} +\setlist[enumerate,2]{label=\emph{\roman*}$)$, + ref = \arabic{enumi}.\emph{\roman*}$)$} +\setlist[enumerate,3]{label=\emph{\alph*}$)$, + ref = \arabic{enumi}.\emph{\roman{enumii}}.\emph{\alph*}$)$} +\setlist[description]{font=\normalfont\colorist_bfseries:} + +\setlist[itemize]{leftmargin=*} +\AddLanguageSetting { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\bullet$}} } +\AddLanguageSetting [french] { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!55!paper}{---}} } +\setlist[itemize,2]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{--}} +\setlist[itemize,3]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\texttt{*}}} + +%%================================ +%% Blank page +%%================================ +\newcommand{\blinkpagetext}{This~page~is~intentionally~left~blank} +\renewcommand{\cleardoublepage}{ + \relax + \clearpage + \if@twoside\ifodd\c@page\relax\else + \thispagestyle{empty} + \hook_gput_next_code:nn { shipout/background } + { + \put(0.5\paperwidth,-0.5\paperheight){ + \makebox[0pt]{\large\color{main-text!10!paper}\blinkpagetext}} + } + \null\newpage\fi\fi +} + +%%================================ +%% Draft mark +%%================================ +\RequirePackage { projlib-draft } + +%%================================ +%% Icons +%%================================ +\RequirePackage{tikz} +\newcommand{\ideabulb}[2][0.15] + { + \scalebox{#1}{ + \begin{tikzpicture} + \filldraw[draw=#2,fill=#2] (0,0) circle [radius=1cm]; + \filldraw[draw=paper,fill=paper,rounded~corners=0.8pt] + [rotate=20] (-0.26,-0.66) rectangle (-0.06,-0.6) + [xshift=-0.4mm,yshift=1mm] (-0.26,-0.66) rectangle (0.02,-0.6) + [xshift=0.4mm,yshift=1mm] (-0.26,-0.66) rectangle (-0.06,-0.6); + \draw[draw=paper,line~width=0.7mm] (-0.18,-0.46) + .. controls (-0.18,-0.28) and (-0.28,-0.12) ..(-0.4,0.1) + .. controls (-0.55,0.4) and (-0.3,0.64) ..(0,0.64) + .. controls (0.3,0.64) and (0.55,0.4) ..(0.4,0.1) + .. controls (0.28,-0.12) and (0.18,-0.28) ..(0.18,-0.46); + \end{tikzpicture}} + } + +\newcommand{\questionmark}[2][0.15] + { + \scalebox{#1}{ + \begin{tikzpicture} + \filldraw[draw=#2,fill=#2] (0,0) circle [radius=1cm]; + \filldraw[paper,yshift=0.5mm,scale=0.9] (-0.4,0.1) circle [radius=0.77mm]; + \draw[draw=paper,line~width=1.5mm,yshift=0.5mm,scale=0.9] (-0.4,0.1) + .. controls (-0.55,0.4) and (-0.3,0.64) ..(0,0.64) + .. controls (0.3,0.64) and (0.55,0.4) ..(0.4,0.1) + .. controls (0.28,-0.12) and (0.05,-0.28) ..(0.05,-0.3) + .. controls (0,-0.36) and (0.0,-0.45) ..(0.0,-0.5); + \fill[fill=paper,rounded~corners=0.6mm] + (-0.09,-0.75) rectangle (0.09,-0.53); + \end{tikzpicture}} + } + +%%================================ +%% Theorems +%%================================ +\RequirePackage { mathtools } +\RequirePackage { amsthm } + +\bool_if:NTF \l__colorist_theorem_in_new_line_bool + { + \newtheoremstyle{simple} + {}{} + {\normalfont}{} + {\normalfont}{} + {\newline} + {{\thmname{#1}\nobreakspace\thmnumber{#2}} + {\color{main-text!50!paper}\thmnote{\hspace{.4em}\ensuremath{(\text{#3})}}}\smallskip} + } + { + \newtheoremstyle{simple} + {}{} + {\normalfont}{} + {\normalfont}{} + {0pt} + {{\thmname{#1}\nobreakspace\thmnumber{#2}} + {\color{main-text!50!paper}\thmnote{\hspace{.4em}\ensuremath{(\text{#3})}}}\nobreakspace\nobreakspace{\normalfont\textcolor{main-text!27!paper}{---}}\nobreakspace\nobreakspace} + } + +\renewcommand{\qedsymbol}{ + \makebox[1em]{\color{main-text!27!paper}\rule[-0.1em]{.95em}{.95em}}} +\let\qedsymbolOriginal\qedsymbol + +\bool_if:NTF \l__colorist_theorem_in_new_line_bool + { + \newtheoremstyle{basic} + {0pt}{0pt}{\normalfont}{0pt} + {}{\;}{\newline} + {{\thmname{#1}\nobreakspace\thmnumber{\textup{#2}}} + \thmnote{\normalfont\sffamily\color{main-text}\nobreakspace(#3)}\smallskip} + } + { + \newtheoremstyle{basic} + {0pt}{0pt}{\normalfont}{0pt} + {}{\;}{0.25em} + {{\thmname{#1}\nobreakspace\thmnumber{\textup{#2}}} + \thmnote{\normalfont\sffamily\color{main-text}\nobreakspace(#3)}} + } + +\theoremstyle{basic} + +\newtheoremstyle{emphasis} + {0pt}{0pt}{\itshape}{0pt}{}{}{0pt} + {\thmnote{\normalfont\sffamily\color{main-text}#3\hspace*{0.5em}}} + +\renewenvironment{proof}[1][\proofname]{\par + \pushQED{\qed} + \normalfont \topsep6\p@\@plus6\p@\relax + \trivlist + \item[\hskip\labelsep + \itshape \sffamily \colorist_bfseries: + #1\hspace{.4em} + \textcolor{main-text!27!paper}{$|$}]\ignorespaces +}{% + \popQED\endtrivlist\@endpefalse +} + +\bool_if:NTF \l__colorist_fast_bool + { + \providecommand{\phantomsection}{} + \RequirePackage { url } + \newcommand{\href}[2]{#2} + } + { + \PassOptionsToPackage { hidelinks,linktoc=all } { hyperref } + \RequirePackage { bookmark } + \RequirePackage { hyperref } + } + + +\PassOptionsToPackage + { + theorem style = { + , remark = emphasis + , observation = emphasis + } + } + { projlib-theorem } + +\RequirePackage { projlib-theorem } + +\SetTheorem { theorem, lemma, proposition, corollary, property, axiom, definition-theorem, definition-proposition } + { + name style = { + heading style = { \color{orange}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc } + } + } + +\SetTheorem { definition, assumption, convention, hypothesis, notation } + { + name style = { + heading style = { \color{forestgreen}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc } + } + } + +\SetTheorem { fact, example, problem, question, exercise } + { + name style = { + heading style = { \color{main-text}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc } + } + } + +\SetTheorem { conjecture } + { + name style = { + heading style = { \color{purple}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc } + } + } + +\SetTheorem { definition-proposition } + { + name = { + heading = { + , english = \color{forestgreen}Definition\color{main-text}-\color{orange}Proposition + , french = \color{forestgreen}Définition\color{main-text}-\color{orange}Proposition + , ngerman = \color{forestgreen}Definition\color{main-text}-\color{orange}Proposition + , italian = \color{forestgreen}Definizione\color{main-text}-\color{orange}Proposizione + , portuguese = \color{forestgreen}Definição\color{main-text}-\color{orange}Proposição + , brazilian = \color{forestgreen}Definição\color{main-text}-\color{orange}Proposição + , spanish = \color{forestgreen}Definición\color{main-text}-\color{orange}Proposición + , schinese = \color{forestgreen}定义\color{main-text}-\color{orange}命题 + , tchinese = \color{forestgreen}定義\color{main-text}-\color{orange}命題 + , japanese = \color{forestgreen}定義\color{main-text}-\color{orange}命題 + , russian = \color{forestgreen}Определение\color{main-text}-\color{orange}Предложение + } + } + } + +\SetTheorem { definition-theorem } + { + name = { + heading = { + , english = \color{forestgreen}Definition\color{main-text}-\color{orange}Theorem + , french = \color{forestgreen}Définition\color{main-text}-\color{orange}Théorème + , ngerman = \color{forestgreen}Definition\color{main-text}-\color{orange}Satz + , italian = \color{forestgreen}Definizione\color{main-text}-\color{orange}Teorema + , portuguese = \color{forestgreen}Definição\color{main-text}-\color{orange}Teorema + , brazilian = \color{forestgreen}Definição\color{main-text}-\color{orange}Teorema + , spanish = \color{forestgreen}Definición\color{main-text}-\color{orange}Teorema + , schinese = \color{forestgreen}定义\color{main-text}-\color{orange}定理 + , tchinese = \color{forestgreen}定義\color{main-text}-\color{orange}定理 + , japanese = \color{forestgreen}定義\color{main-text}-\color{orange}定理 + , russian = \color{forestgreen}Определение\color{main-text}-\color{orange}Теорема + } + } + } + +\bool_if:NF \l__projlib_theorem_complexname_bool + { + \SetTheorem { theorem, lemma, proposition, corollary, property, axiom, definition-theorem, definition-proposition } + { + name style = { + , crefname style = { \color{orange}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc } + , Crefname style = { \color{orange}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc } + , numbering style = { \color{orange}\colorist_bfseries:\g_colorist_title_font_common_tl } + } + } + + \SetTheorem { definition, assumption, convention, hypothesis, notation } + { + name style = { + , crefname style = { \color{forestgreen}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc } + , Crefname style = { \color{forestgreen}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc } + , numbering style = { \color{forestgreen}\colorist_bfseries:\g_colorist_title_font_common_tl } + } + } + + \SetTheorem { fact, example, problem, question, exercise } + { + name style = { + , crefname style = { \color{main-text}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc } + , Crefname style = { \color{main-text}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc } + , numbering style = { \color{main-text}\colorist_bfseries:\g_colorist_title_font_common_tl } + } + } + + \SetTheorem { conjecture } + { + name style = { + , crefname style = { \color{purple}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc } + , Crefname style = { \color{purple}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc } + , numbering style = { \color{purple}\colorist_bfseries:\g_colorist_title_font_common_tl } + } + } + + \SetTheorem { definition-proposition } + { + name = { + , crefname = { + , english = {\color{forestgreen}Definition\color{main-text}-\color{orange}Proposition}{\color{forestgreen}Definition\color{main-text}-\color{orange}Proposition} + , french = [la]{\color{forestgreen}Définition\color{main-text}-\color{orange}Proposition}[les]{\color{forestgreen}Définition\color{main-text}-\color{orange}Proposition} + , ngerman = {\color{forestgreen}Definition\color{main-text}-\color{orange}Proposition}{\color{forestgreen}Definition\color{main-text}-\color{orange}Proposition} + , italian = [la]{\color{forestgreen}Definizione\color{main-text}-\color{orange}Proposizione}[le]{\color{forestgreen}Definizione\color{main-text}-\color{orange}Proposizione} + , portuguese = [a]{\color{forestgreen}Definição\color{main-text}-\color{orange}Proposição}[as]{\color{forestgreen}Definição\color{main-text}-\color{orange}Proposição} + , brazilian = [a]{\color{forestgreen}Definição\color{main-text}-\color{orange}Proposição}[as]{\color{forestgreen}Definição\color{main-text}-\color{orange}Proposição} + , spanish = [la]{\color{forestgreen}Definición\color{main-text}-\color{orange}Proposición}[las]{\color{forestgreen}Definición\color{main-text}-\color{orange}Proposición} + , schinese = {\color{forestgreen}定义\color{main-text}-\color{orange}命题}{\color{forestgreen}定义\color{main-text}-\color{orange}命题} + , tchinese = {\color{forestgreen}定義\color{main-text}-\color{orange}命題}{\color{forestgreen}定義\color{main-text}-\color{orange}命題} + , japanese = {\color{forestgreen}定義\color{main-text}-\color{orange}命題}{\color{forestgreen}定義\color{main-text}-\color{orange}命題} + , russian = {\color{forestgreen}Определение\color{main-text}-\color{orange}Предложение}{\color{forestgreen}Определение\color{main-text}-\color{orange}Предложение} + } + , Crefname = { + , english = {\color{forestgreen}Definition\color{main-text}-\color{orange}Proposition}{\color{forestgreen}Definition\color{main-text}-\color{orange}Proposition} + , french = [la]{\color{forestgreen}Définition\color{main-text}-\color{orange}Proposition}[les]{\color{forestgreen}Définition\color{main-text}-\color{orange}Proposition} + , ngerman = {\color{forestgreen}Definition\color{main-text}-\color{orange}Proposition}{\color{forestgreen}Definition\color{main-text}-\color{orange}Proposition} + , italian = [la]{\color{forestgreen}Definizione\color{main-text}-\color{orange}Proposizione}[le]{\color{forestgreen}Definizione\color{main-text}-\color{orange}Proposizione} + , portuguese = [a]{\color{forestgreen}Definição\color{main-text}-\color{orange}Proposição}[as]{\color{forestgreen}Definição\color{main-text}-\color{orange}Proposição} + , brazilian = [a]{\color{forestgreen}Definição\color{main-text}-\color{orange}Proposição}[as]{\color{forestgreen}Definição\color{main-text}-\color{orange}Proposição} + , spanish = [la]{\color{forestgreen}Definición\color{main-text}-\color{orange}Proposición}[las]{\color{forestgreen}Definición\color{main-text}-\color{orange}Proposición} + , schinese = {\color{forestgreen}定义\color{main-text}-\color{orange}命题}{\color{forestgreen}定义\color{main-text}-\color{orange}命题} + , tchinese = {\color{forestgreen}定義\color{main-text}-\color{orange}命題}{\color{forestgreen}定義\color{main-text}-\color{orange}命題} + , japanese = {\color{forestgreen}定義\color{main-text}-\color{orange}命題}{\color{forestgreen}定義\color{main-text}-\color{orange}命題} + , russian = {\color{forestgreen}Определение\color{main-text}-\color{orange}Предложение}{\color{forestgreen}Определение\color{main-text}-\color{orange}Предложение} + } + } + } + + \SetTheorem { definition-theorem } + { + name = { + , crefname = { + , english = {\color{forestgreen}Definition\color{main-text}-\color{orange}Theorem}{\color{forestgreen}Definition\color{main-text}-\color{orange}Theorem} + , french = [la]{\color{forestgreen}Définition\color{main-text}-\color{orange}Théorème}[les]{\color{forestgreen}Définition\color{main-text}-\color{orange}Théorème} + , ngerman = {\color{forestgreen}Definition\color{main-text}-\color{orange}Satz}{\color{forestgreen}Definition\color{main-text}-\color{orange}Satz} + , italian = [la]{\color{forestgreen}Definizione\color{main-text}-\color{orange}Teorema}[le]{\color{forestgreen}Definizione\color{main-text}-\color{orange}Teorema} + , portuguese = [a]{\color{forestgreen}Definição\color{main-text}-\color{orange}Teorema}[as]{\color{forestgreen}Definição\color{main-text}-\color{orange}Teorema} + , brazilian = [a]{\color{forestgreen}Definição\color{main-text}-\color{orange}Teorema}[as]{\color{forestgreen}Definição\color{main-text}-\color{orange}Teorema} + , spanish = [la]{\color{forestgreen}Definición\color{main-text}-\color{orange}Teorema}[las]{\color{forestgreen}Definición\color{main-text}-\color{orange}Teorema} + , schinese = {\color{forestgreen}定义\color{main-text}-\color{orange}定理}{\color{forestgreen}定义\color{main-text}-\color{orange}定理} + , tchinese = {\color{forestgreen}定義\color{main-text}-\color{orange}定理}{\color{forestgreen}定義\color{main-text}-\color{orange}定理} + , japanese = {\color{forestgreen}定義\color{main-text}-\color{orange}定理}{\color{forestgreen}定義\color{main-text}-\color{orange}定理} + , russian = {\color{forestgreen}Определение\color{main-text}-\color{orange}Теорема}{\color{forestgreen}Определение\color{main-text}-\color{orange}Теорема} + } + , Crefname = { + , english = {\color{forestgreen}Definition\color{main-text}-\color{orange}Theorem}{\color{forestgreen}Definition\color{main-text}-\color{orange}Theorem} + , french = [La]{\color{forestgreen}Définition\color{main-text}-\color{orange}Théorème}[Les]{\color{forestgreen}Définition\color{main-text}-\color{orange}Théorème} + , ngerman = {\color{forestgreen}Definition\color{main-text}-\color{orange}Satz}{\color{forestgreen}Definition\color{main-text}-\color{orange}Satz} + , italian = [La]{\color{forestgreen}Definizione\color{main-text}-\color{orange}Teorema}[Le]{\color{forestgreen}Definizione\color{main-text}-\color{orange}Teorema} + , portuguese = [A]{\color{forestgreen}Definição\color{main-text}-\color{orange}Teorema}[As]{\color{forestgreen}Definição\color{main-text}-\color{orange}Teorema} + , brazilian = [A]{\color{forestgreen}Definição\color{main-text}-\color{orange}Teorema}[As]{\color{forestgreen}Definição\color{main-text}-\color{orange}Teorema} + , spanish = [La]{\color{forestgreen}Definición\color{main-text}-\color{orange}Teorema}[Las]{\color{forestgreen}Definición\color{main-text}-\color{orange}Teorema} + , schinese = {\color{forestgreen}定义\color{main-text}-\color{orange}定理}{\color{forestgreen}定义\color{main-text}-\color{orange}定理} + , tchinese = {\color{forestgreen}定義\color{main-text}-\color{orange}定理}{\color{forestgreen}定義\color{main-text}-\color{orange}定理} + , japanese = {\color{forestgreen}定義\color{main-text}-\color{orange}定理}{\color{forestgreen}定義\color{main-text}-\color{orange}定理} + , russian = {\color{forestgreen}Определение\color{main-text}-\color{orange}Теорема}{\color{forestgreen}Определение\color{main-text}-\color{orange}Теорема} + } + } + } + } + +\RequirePackage { marginnote } +\RequirePackage { ifoddpage } +\newcommand{\mparadjust}[1]{\renewcommand*{\marginnotevadjust}{#1}} +\hook_gput_code:nnn { begindocument/before } { colorist } +{ + % +} +\hook_gput_code:nnn { env/remark/begin } { colorist } + { + \if@twoside\checkoddpage + \ifoddpage\reversemarginpar\fi + \else + \reversemarginpar + \fi + \mparadjust{-.25em} + \marginnote{\ideabulb[0.3]{orange} + \bool_if:NTF \l__colorist_is_book_bool + { + \hspace*{-.2em} + } + { + \hspace*{-.5em} + } + } + \normalmarginpar + } +\hook_gput_code:nnn { env/conjecture/begin } { colorist } + { + \if@twoside\checkoddpage + \ifoddpage\reversemarginpar\fi + \else + \reversemarginpar + \fi + \mparadjust{-.25em} + \marginnote{\questionmark[0.3]{purple} + \bool_if:NTF \l__colorist_is_book_bool + { + \hspace*{-.2em} + } + { + \hspace*{-.5em} + } + } + \normalmarginpar + } + +\ExplSyntaxOff +\RequirePackage{iftex} +\ifXeTeX +\def\pgfsys@hboxsynced#1{% +{% + \pgfsys@beginscope% + \setbox\pgf@hbox=\hbox{% + \hskip\pgf@pt@x% + \raise\pgf@pt@y\hbox{% + \pgf@pt@x=0pt% + \pgf@pt@y=0pt% + \special{pdf: content q}% + \pgflowlevelsynccm% + \pgfsys@invoke{q -1 0 0 -1 0 0 cm}% + \special{pdf: content -1 0 0 -1 0 0 cm q} + % translate to original coordinate system + \pgfsys@invoke{0 J [] 0 d}% reset line cap and dash + \wd#1=0pt% + \ht#1=0pt% + \dp#1=0pt% + \box#1% + \pgfsys@invoke{n Q Q Q}% + }% + \hss% + }% + \wd\pgf@hbox=0pt% + \ht\pgf@hbox=0pt% + \dp\pgf@hbox=0pt% + \pgfsys@hbox\pgf@hbox% + \pgfsys@endscope% +}} +\fi +\ExplSyntaxOn + +\cs_new_protected:Nn \colorist_add_colorbox:nn + % #1 = list of environments + % #2 = settings of tcolorbox + { + \clist_map_inline:nn { #1 } + { + \__colorist_add_colorbox_do:nn { ##1 } { #2 } + \__colorist_add_colorbox_do:nn { ##1* } { #2 } + } + } +\cs_new_protected:Nn \__colorist_add_colorbox_do:nn + % #1 = name of environment + % #2 = settings of tcolorbox + { + \tcolorboxenvironment { #1 } { #2 } + } + +\colorist_add_colorbox:nn { theorem, lemma, proposition, corollary, property, axiom, definition-proposition, definition-theorem } + { + enhanced~jigsaw, pad~at~break*=1mm, breakable, lines~before~break=3, + left=3.5mm, right=3.5mm, + before=\par\medskip\noindent, + colback=main-text!3!paper, + opacityframe=0.9, colframe=orange, arc=.7mm + } + +\colorist_add_colorbox:nn { definition, assumption, convention, hypothesis, notation } + { + enhanced~jigsaw, pad~at~break*=1mm, breakable, lines~before~break=3, + left=4mm, right=4mm, top=1mm, bottom=1mm, + before=\par\medskip\noindent, + colback=lightorange!10!paper, boxrule=0pt, frame~hidden, + borderline~west={1.5mm}{0mm}{forestgreen}, arc=.7mm + } + +\colorist_add_colorbox:nn { fact, example } + { + enhanced~jigsaw, pad~at~break*=1mm, breakable, lines~before~break=3, + colback=main-text!5!paper, + before=\par\medskip\noindent, + boxrule=0pt, frame~hidden, arc=.7mm + } + +\colorist_add_colorbox:nn { conjecture } + { + enhanced~jigsaw, pad~at~break*=1mm, breakable, lines~before~break=3, + left=3.5mm, right=3.5mm, + before=\par\medskip\noindent, + colback=main-text!3!paper, + opacityframe=0.7, colframe=purple, arc=.7mm + } + +\colorist_add_colorbox:nn { problem } + { + enhanced~jigsaw, pad~at~break*=1mm, breakable, lines~before~break=3, + colback=yellow!25!paper, + before=\par\medskip\noindent, + boxrule=0pt, frame~hidden, arc=.7mm + } + +\colorist_add_colorbox:nn { question, exercise, remark, observation } + { + enhanced~jigsaw, pad~at~break*=1mm, breakable, lines~before~break=3, + oversize, + top=0mm, bottom=0mm, + before=\par\medskip\noindent, + opacityframe=0, opacityback=0 + } + +\NewDocumentCommand \AfterEnvEnd { +m } + { \colorist_after_env_end:nw { #1 } } +\cs_new_protected:Npn \colorist_after_env_end:nw #1 #2 + \if@ignore\@ignorefalse\ignorespaces\fi + { #2 \if@ignore\@ignorefalse\ignorespaces\fi #1 } +\NewDocumentCommand \ScanEnv { s m +m +m } + { + \IfBooleanTF { #1 } + { \colorist_scan_env_ignore_par:nTF } + { \colorist_scan_env:nTF } + { #2 } { #3 } { #4 } + } +\cs_new_protected:Npn \colorist_scan_env:nTF + { \__colorist_scan_env:NnTF \c_false_bool } +\cs_new_protected:Npn \colorist_scan_env_ignore_par:nTF + { \__colorist_scan_env:NnTF \c_true_bool } +\tl_new:N \l__colorist_collected_tl +\cs_new_protected:Npn \__colorist_scan_env:NnTF #1 #2 #3 #4 + { + \tl_clear:N \l__colorist_collected_tl + \peek_analysis_map_inline:n + { + \tl_put_right:Nn \l__colorist_collected_tl { ##1 } + \int_compare:nNnTF { "##3 } = { 0 } + { + \exp_args:No \token_if_eq_meaning:NNTF { ##1 } \begin + { \peek_analysis_map_break:n { \__colorist_chk_env:nTFn { #2 } { #3 } { #4 } } } + { + \bool_lazy_and:nnF { #1 } + { \exp_args:No \token_if_eq_meaning_p:NN { ##1 } \par } + { \__colorist_scan_env_end:n { #4 } } + } + } + { \int_compare:nNnF { "##3 } = { 10 } { \__colorist_scan_env_end:n { #4 } } } + } + } +\cs_new_protected:Npn \__colorist_scan_env_end:n #1 + { \peek_analysis_map_break:n { \__colorist_reinsert_tokens:nn { #1 } { } } } +\cs_new_protected:Npn \__colorist_reinsert_tokens:nn #1 #2 + { + \use:x + { + \tl_clear:N \exp_not:N \l__colorist_collected_tl + \exp_not:n { #1 } \l__colorist_collected_tl #2 + } + } +\cs_new_protected:Npn \__colorist_chk_env:nTFn #1 #2 #3 #4 + { + \exp_args:Nx \__colorist_reinsert_tokens:nn + { \str_if_eq:nnTF { #1 } { #4 } { \exp_not:n { #2 } } { \exp_not:n { #3 } } } { { #4 } } + } + +\cs_new_protected:Nn \colorist_add_scan_env:n + { + \clist_map_inline:nn { #1 } + { + \__colorist_add_scan_env_do:n { ##1 } + } + } +\cs_new_protected:Nn \__colorist_add_scan_env_do:n + { + \tl_const:cn { l__colorist_scan_env_ #1 } + { + \AfterEnvEnd + { + \ScanEnv* { #1 } + { \skip_vertical:n { -0.9\baselineskip } } + { + \ScanEnv* { #1* } + { \skip_vertical:n { -0.9\baselineskip } } + {} + } + } + } + \hook_gput_code:nnn { env/#1/end } { colorist } { \tl_use:c { l__colorist_scan_env_ #1 } } + \hook_gput_code:nnn { env/#1*/end } { colorist } { \tl_use:c { l__colorist_scan_env_ #1 } } + } + +\colorist_add_scan_env:n { definition, assumption, convention, hypothesis, notation } + +\theoremstyle{simple} + +\bool_if:NF \l__colorist_is_book_bool { + +%%================================ +%% Title block style +%%================================ +\renewcommand{\@maketitle}{ +\begin{center} + \color{maintheme} + {\Large\sffamily\scshape \colorist_bfseries: \@title}\\\bigskip + \color{main-text!80!paper} + {\scshape\@author}\par\smallskip + {\@date} +\end{center} +\ifx\@date\@empty\bigskip\fi +\medskip +} + +\hook_gput_code:nnn { cmd/maketitle/after } { colorist } { \thispagestyle{fancy} } + +%%================================ +%% Abstract style +%%================================ +\renewenvironment{abstract} +{\small{\centerline{\textsc{ \colorist_bfseries: \sffamily\abstractname}}\vspace{-0.3\baselineskip}} + \color{main-text!80!paper}\begin{quotation}} +{\end{quotation}\medskip} + +%%================================ +%% Keyword environment +%%================================ +\DefineMultilingualText { \keywordname } + { + EN = Keywords , + FR = Mots~clés , + DE = Schlüsselwörter , + IT = Parole~chiave , + PT = Palavras~chave , + BR = Palavras~chave , + ES = Palabras~clave , + CN = 关键词 , + TC = 關鍵詞 , + JP = キーワード , + RU = Ключевые~слова , + } + +\newenvironment{keyword} +{\small\centerline{{ \colorist_bfseries: \keywordname}}\vspace{-0.3\baselineskip} + \color{main-text!80!paper}\begin{center}} +{\end{center}\medskip} + +%%================================ +%% Simulate features of amsart +%%================================ +\PassOptionsToPackage { amsfashion } { projlib-author } +\RequirePackage { projlib-author } + +} + +\endinput +%% +%% End of file `colorist/colorist-fancy.sty'. diff --git a/Master/texmf-dist/tex/latex/colorist/colorist.sty b/Master/texmf-dist/tex/latex/colorist/colorist.sty index fa30bf3aa0b..6da2938455a 100644 --- a/Master/texmf-dist/tex/latex/colorist/colorist.sty +++ b/Master/texmf-dist/tex/latex/colorist/colorist.sty @@ -2,7 +2,7 @@ %% This is file `colorist/colorist.sty', %% generated with the docstrip utility. -%% Copyright (C) 2021 by Jinwen XU +%% Copyright (C) 2021-2022 by Jinwen XU %% %% This is part of the colorist class series. %% @@ -16,1484 +16,76 @@ %% 2005/12/01 or later. %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] -\ProvidesPackage{colorist} - [2021/12/16 A colorful style for articles and books] -\RequirePackage{kvoptions} -\RequirePackage{etoolbox} -\SetupKeyvalOptions{% - family = @colorist, - prefix = @colorist@ -} -\DeclareBoolOption[false]{draft} -\DeclareBoolOption[false]{fast} -\DeclareBoolOption[false]{puretext} -\DeclareBoolOption[false]{nothms} -\DeclareBoolOption[false]{delaythms} -\DeclareBoolOption[false]{nothmnum} -\DeclareStringOption{thmnum}[colorist@thmnum@default] -\DeclareBoolOption[true]{regionalref} -\DeclareBoolOption[false]{originalref} -\DeclareBoolOption[false]{allowbf} -\DeclareBoolOption[false]{runin} -\ProcessKeyvalOptions*\relax +\RequirePackage{l3keys2e} +\ProvidesExplPackage + {colorist} + {2022/03/19} {} + {A colorful style for articles and books} -\if@colorist@originalref - \@colorist@regionalreffalse -\fi -\if@colorist@draft - \@colorist@fasttrue -\fi -\if@colorist@puretext - \@colorist@nothmstrue -\fi - -\if@colorist@fast - \PassOptionsToPackage{fast}{PJLdraft} - \PassOptionsToPackage{fast}{PJLthm} -\fi -\expandafter\ifstrempty\expandafter{\@colorist@thmnum}{}{ - \expandafter\ifstrequal\expandafter{\@colorist@thmnum}{colorist@thmnum@default}{ - \PassOptionsToPackage{thmnum}{PJLthm} - }{ - \PassOptionsToPackage{thmnum=\@colorist@thmnum}{PJLthm} - } -} -\if@colorist@regionalref\else - \PassOptionsToPackage{originalref}{PJLthm} -\fi - -\if@colorist@allowbf - \newcommand{\conditionalbfseries}{\bfseries\colorlet{PJLtempcolor}{.}\color{PJLtempcolor!90!paper}} -\else - \newcommand{\conditionalbfseries}{} -\fi - -\newif\ifIsBook -\ifdefined\c@chapter\IsBooktrue\else\IsBookfalse\fi - -\let\colorist@sffamily\sffamily -\let\colorist@scshape\scshape -\let\colorist@textsc\textsc - -%%================================ -%% Title fonts -%%================================ -\RequirePackage{anyfontsize} - -\newcommand{\partfont}{\conditionalbfseries\colorist@sffamily} -\newcommand{\chapfont}{\conditionalbfseries\colorist@sffamily\colorist@scshape} -\newcommand{\secfont}{\conditionalbfseries\colorist@sffamily} -\newcommand{\subsecfont}{\conditionalbfseries\colorist@sffamily} -\newcommand{\subsubsecfont}{\conditionalbfseries\colorist@sffamily} - -%%================================ -%% Paper configuration -%%================================ -\RequirePackage{PJLpaper} - -%%================================ -%% Color -%%================================ -\definecolor{maintheme}{RGB}{70,130,180} -\definecolor{forestgreen}{RGB}{21,122,81} -\definecolor{lightorange}{RGB}{255,185,88} - -%%================================ -%% Footer -%%================================ -\RequirePackage{geometry} -\RequirePackage{fancyhdr} -\RequirePackage{extramarks} - -\AtEndPreamble{\fancyhfoffset{0pt}} - -\fancypagestyle{fancy}{ - \fancyhf{} - \if@twoside - \fancyfoot[RO]{\sffamily\textcolor{maintext!30!paper}{\small\lastrightmark}% - \rlap{~~~~\textcolor{maintext!75!paper}{\textbf{\thepage}}}} - \fancyfoot[LE]{\leavevmode\sffamily\llap{\textcolor{maintext!75!paper}{\textbf{\thepage}}% - ~~~~}% - \textcolor{maintext!30!paper}{\small\lastleftmark}} - \else - \fancyfoot[R]{\sffamily\textcolor{maintext!30!paper}{\small\lastrightmark}% - \rlap{~~~~\textcolor{maintext!75!paper}{\textbf{\thepage}}}} - \fi - \renewcommand{\headrulewidth}{0pt} -} -\pagestyle{fancy} - -\fancypagestyle{plain}{ - \fancyhf{} - \if@twoside - \fancyfoot[RO]{% - \sffamily~\rlap{~~~~\textcolor{maintext!75!paper}{\textbf{\thepage}}}} - \fancyfoot[LE]{\leavevmode\sffamily\llap{\textcolor{maintext!75!paper}{\textbf{\thepage}}% - ~~~}} - \else - \fancyfoot[R]{% - ~\rlap{~~~~\textcolor{maintext!75!paper}{\textbf{\thepage}}}} - \fi - \renewcommand{\headrulewidth}{0pt} -} - -\ifbool{IsBook}{ - \if@twoside - \renewcommand{\chaptermark}[1]{\markboth{\textsc{#1}}{}} - \else - \renewcommand{\chaptermark}[1]{\markboth{\textsc{#1}}{\textsc{#1}}} - \fi - \renewcommand*{\sectionmark}[1]{% - \markright{\thesection~~#1}} -}{ - \if@twoside - \renewcommand*{\sectionmark}[1]{\markboth{\textsc{#1}}{}} - \else - \renewcommand*{\sectionmark}[1]{\markboth{\textsc{#1}}{\textsc{#1}}} - \fi -} -%%================================ -%% Languages and line spacing -%%================================ -\RequirePackage{PJLlang} -\PJLsetlinespacing{\setstretch{1.07}} -\PJLsetCJKlinespacing{\onehalfspacing} -\raggedbottom - -%%================================ -%% Title format -%%================================ -\RequirePackage[explicit,newparttoc]{titlesec} -\PassOptionsToPackage{normalem}{ulem} -\RequirePackage{ulem} - -\newcommand{\partstring}{\MakeUppercase{{\partname~\protect\thepart}}} -\gappto{\PJLlang@langconfig@common}{% -\renewcommand{\partstring}{\MakeUppercase{{\partname~\protect\thepart}}}% -} -\gappto{\PJLlang@langconfig@CN}{% -\renewcommand{\partstring}{第~\thepart~部分}% -} -\gappto{\PJLlang@langconfig@TC}{% -\renewcommand{\partstring}{第~\thepart~部分}% -} -\gappto{\PJLlang@langconfig@JP}{% -\renewcommand{\partstring}{第~\thepart~部}% -} - -\ifbool{IsBook}{ - %% Part - \titleclass{\part}{top} % make part like a chapter - \titleformat{\part}[display] - {\partfont\filleft} - {% - \thispagestyle{empty}% - \begin{tikzpicture}[remember picture,overlay] - \fill[maintheme!10!paper] (current page.north west) rectangle (current page.south east); - \node at ($(current page.north west)+(15em,-15em)$) {\normalfont\textcolor{maintheme}{\scalebox{12}{\thepart}}}; - \end{tikzpicture}% - } - {1em} - {\fontsize{20}{0}\selectfont\MakeUppercase{#1}} - \titleformat{name=\part,numberless}[display] - {% \phantomsection\addcontentsline{toc}{part}{#1}% - \partfont\filleft} - {% - \thispagestyle{empty}% - \begin{tikzpicture}[remember picture,overlay] - \fill[maintheme!10!paper] (current page.north west) rectangle (current page.south east); - \node at ($(current page.north west)+(15em,-15em)$) {\normalfont\textcolor{maintheme}{\scalebox{12}{$*$}}}; - \end{tikzpicture}% - } - {1em} - {\fontsize{20}{0}\selectfont\MakeUppercase{#1}} - \titlespacing*{\part}{0pt}{5em}{6em} - %% Text after part - \newcommand{\parttext}[1]{% - \vfill% - \begin{flushright}% - \begin{minipage}{0.833\textwidth}% - \color{maintext!80!paper}\raggedleft#1% - \end{minipage}% - \end{flushright}% - \vfill\vfill% - \cleardoublepage% - } - - %% Chapter - \newcommand{\TheChapter}[2]{% - \tcbsidebyside[enhanced,sidebyside adapt=right,sidebyside align=bottom, - colback=paper,frame hidden, - segmentation code={ - \filldraw[maintheme] (segmentation.north) - -- ($(segmentation.east)-(12pt,0)$) - -- ($(segmentation.west)+(12pt,0)$) - -- (segmentation.south);} - ]{\filleft#2}{\normalfont\textcolor{maintheme}{\scalebox{4}{#1}}} - } - - \newcommand{\TheChapterSingle}[1]{% - \begin{tcolorbox}[ - enhanced, - width = 0.67\textwidth, - colback=paper,frame hidden, - halign=center] - #1 - \vspace{-.6em} - \begin{center} - \begin{tikzpicture} - \filldraw[maintheme] (-4em,0) -- (4em,0) -- (0,-.1em) -- (0,.1em); - \end{tikzpicture} - \end{center} - \end{tcolorbox} - } - - \titleformat{name=\chapter} - {\chapfont\huge} % Format - {} % Label - {0mm} % Sep - {\TheChapter{\thechapter}{#1}} % Before-code - \titlespacing*{name=\chapter} - {0em}{*2}{0em} % {left}{before-sep}{after-sep} - - \titleformat{name=\chapter, numberless} - {\filcenter\chapfont\huge} - {} - {0mm} - {\TheChapterSingle{#1}} - \titlespacing*{name=\chapter, numberless} - {0em}{*2}{0em} - - %% Section - \titleformat{\section} - {\color{maintheme}\secfont\large} - {\thesection}{.75em}{#1} - % [{\titlerule[.75pt]}] - - %% Subsection - \titleformat{\subsection} - {\subsecfont}{\thesubsection}{.75em} - {#1} -}{ - %% Part - \titleformat{\part}[display] - {% - \partfont\filleft} - {\partstring} - {.3em} - {\fontsize{16}{0}\selectfont\MakeUppercase{#1}} - \titleformat{name=\part,numberless}[display] - {% \phantomsection\addcontentsline{toc}{part}{#1}% - \partfont\filleft} - {\phantom{\MakeUppercase{\partname}}} - {.3em} - {\fontsize{16}{0}\selectfont\MakeUppercase{#1}} - %% Text after part - \newcommand{\parttext}[1]{% - \begin{flushright}% - \begin{minipage}{0.833\textwidth}% - \color{maintext!80!paper}\raggedleft#1% - \end{minipage}% - \end{flushright}% - } - - %% Section - \titleformat{\section} - {\color{maintheme}\secfont\large} - {\thesection}{.75em}{\scshape #1} - % [{\titlerule[.75pt]}] - - %% Subsection - \titleformat{\subsection} - {\subsecfont}{\thesubsection}{.75em} - {\scshape #1} -} - -%% Subsubsection -\if@colorist@runin -\titleformat{\subsubsection}[runin] - {\color{maintext!70!paper}\subsubsecfont}{\thesubsubsection}{.5em} - {#1.}[\hspace*{.3em}] -\else -\titleformat{\subsubsection} - {\color{maintext!70!paper}\subsubsecfont}{\thesubsubsection}{.5em} - {#1} -\fi - -%% Paragraph -\titleformat{\paragraph}[runin] - {\conditionalbfseries\scshape}{\theparagraph}{1em}{#1} - -\titlespacing{\section}{0pt}{\baselineskip}{.6\baselineskip} -\titlespacing{\subsection}{0pt}{.75\baselineskip}{.4\baselineskip} -\titlespacing{\subsubsection}{0pt}{.6\baselineskip}{.3\baselineskip} - -%%================================ -%% TOC format -%%================================ -\RequirePackage{titletoc} -\titlecontents{part} - [0em] - {\addvspace{1.5pc}\large\filcenter\colorist@sffamily\conditionalbfseries} - {\textcolor{maintheme}{\bfseries\thecontentslabel}\nopagebreak\\\nopagebreak\uppercase} - {} - {} % without page number - [\addvspace{.5pc}] -\ifbool{IsBook}{ - \titlecontents{chapter} - [2em] % i.e., 0em (part) + 2em - {\addvspace{1pc}\normalfont\color{maintheme}\colorist@sffamily\conditionalbfseries} - {\contentslabel{2em}} - {\colorist@scshape\hspace*{-2em}} - {\titlerule*[10pt]{\parbox{2pt}{\hspace*{-.25pt}\textcolor{maintext!15!paper}{.}}}\color{maintheme}\contentspage} - \titlecontents{section} - [4em] % i.e., 2em (chapter) + 2em - {\addvspace{.3pc}\normalfont\color{maintheme}\colorist@sffamily} - {\contentslabel{1.75em}} - {\hspace*{-1.75em}} - {\titlerule*[10pt]{\parbox{2pt}{\textcolor{maintext!15!paper}{.}}}\color{maintheme}\contentspage} - \titlecontents{subsection} - [7em] % i.e., 4em (section) + 3em - {\addvspace{.15pc}\normalfont\colorist@sffamily} - {\contentslabel{2.75em}} - {\hspace*{-2.75em}} - {\titlerule*[10pt]{\parbox{2pt}{\textcolor{maintext!15!paper}{.}}}\color{maintext!45!paper}\contentspage} - \titlecontents{subsubsection} - [10em] % i.e., 7em (subsection) + 3em - {\normalfont\colorist@sffamily} - {\contentslabel{3.25em}} - {\hspace*{-3.25em}} - {\titlerule*[10pt]{\parbox{2pt}{\textcolor{maintext!15!paper}{.}}}\color{maintext!45!paper}\contentspage} -}{ - \titlecontents{section} - [2em] % i.e., 0em (part) + 2em - {\addvspace{.3pc}\normalfont\color{maintheme}\colorist@sffamily} - {\contentslabel{1.75em}} - {\hspace*{-1.75em}} - {\titlerule*[10pt]{\parbox{2pt}{\textcolor{maintext!15!paper}{.}}}\color{maintheme}\contentspage} - \titlecontents{subsection} - [4.5em] % i.e., 2em (section) + 2.5em - {\addvspace{.15pc}\normalfont\colorist@sffamily} - {\contentslabel{2.15em}} - {\hspace*{-2.15em}} - {\titlerule*[10pt]{\parbox{2pt}{\textcolor{maintext!15!paper}{.}}}\color{maintext!45!paper}\contentspage} - \titlecontents{subsubsection} - [7.75em] % i.e., 5em (subsection) + 3.25em - {\normalfont\colorist@sffamily} - {\contentslabel{2.75em}} - {\hspace*{-2.75em}} - {\titlerule*[10pt]{\parbox{2pt}{\textcolor{maintext!15!paper}{.}}}\color{maintext!45!paper}\contentspage} -} - -%%================================ -%% Lists -%%================================ -\RequirePackage{enumitem} -\setlist{noitemsep} -\setlist[enumerate]{labelsep=*, leftmargin=*} -\setlist[enumerate,1]{label=\arabic*$)$, - ref = \arabic*$)$} -\setlist[enumerate,2]{label=\emph{\roman*}$)$, - ref = \arabic{enumi}.\emph{\roman*}$)$} -\setlist[enumerate,3]{label=\emph{\alph*}$)$, - ref = \arabic{enumi}.\emph{\roman{enumii}}.\emph{\alph*}$)$} -\setlist[description]{font=\normalfont\conditionalbfseries} - -\setlist[itemize]{leftmargin=*} -\gappto{\PJLlang@langconfig@common}{\setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\bullet$}}} -\gappto{\PJLlang@langconfig@FR}{\setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!50!paper}{---}}} -\setlist[itemize,2]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{--}} -\setlist[itemize,3]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\texttt{*}}} - -%%================================ -%% Blank page -%%================================ -\newcommand{\blinkpagetext}{This page is intentionally left blank} -\renewcommand{\cleardoublepage}{\relax - \clearpage - \if@twoside\ifodd\c@page\relax\else - \thispagestyle{empty} - \AddToHookNext{shipout/background} - {% - \put(0.5\paperwidth,-0.5\paperheight){% - \makebox[0pt]{\large\color{maintext!10!paper}\blinkpagetext}}} - \null\newpage\fi\fi} - -%%================================ -%% Draft mark -%%================================ -\RequirePackage{PJLdraft} - -%%================================ -%% Icons -%%================================ -\RequirePackage{tikz} -\newcommand{\ideabulb}[2][0.15]{% - \scalebox{#1}{% - \begin{tikzpicture} - \filldraw[draw=#2,fill=#2] (0,0) circle [radius=1cm]; - \filldraw[draw=paper,fill=paper,rounded corners=0.8pt] - [rotate=20] (-0.26,-0.66) rectangle (-0.06,-0.6) - [xshift=-0.4mm,yshift=1mm] (-0.26,-0.66) rectangle (0.02,-0.6) - [xshift=0.4mm,yshift=1mm] (-0.26,-0.66) rectangle (-0.06,-0.6); - \draw[draw=paper,line width=0.7mm] (-0.18,-0.46) - .. controls (-0.18,-0.28) and (-0.28,-0.12) ..(-0.4,0.1) - .. controls (-0.55,0.4) and (-0.3,0.64) ..(0,0.64) - .. controls (0.3,0.64) and (0.55,0.4) ..(0.4,0.1) - .. controls (0.28,-0.12) and (0.18,-0.28) ..(0.18,-0.46); - \end{tikzpicture}}} - -\newcommand{\questionmark}[2][0.15]{% - \scalebox{#1}{% - \begin{tikzpicture} - \filldraw[draw=#2,fill=#2] (0,0) circle [radius=1cm]; - \filldraw[paper,yshift=0.5mm,scale=0.9] (-0.4,0.1) circle [radius=0.77mm]; - \draw[draw=paper,line width=1.5mm,yshift=0.5mm,scale=0.9] (-0.4,0.1) - .. controls (-0.55,0.4) and (-0.3,0.64) ..(0,0.64) - .. controls (0.3,0.64) and (0.55,0.4) ..(0.4,0.1) - .. controls (0.28,-0.12) and (0.05,-0.28) ..(0.05,-0.3) - .. controls (0,-0.36) and (0.0,-0.45) ..(0.0,-0.5); - \fill[fill=paper,rounded corners=0.6mm] - (-0.09,-0.75) rectangle (0.09,-0.53); - \end{tikzpicture}}} - -%%================================ -%% Theorems -%%================================ -\RequirePackage{mathtools} -\RequirePackage{amsthm} -\def\simpleqedsymbol{% - \makebox[1em]{\rlap{\textcolor{maintext!12!paper}{\rule[-0.1em]{.95em}{.95em}}}{\kern.07em\raisebox{.07em}{\textcolor{paper}{\rule[-0.1em]{.81em}{.81em}}}\kern.07em}}} -\newtheoremstyle{simple}% - {}{}% - {\normalfont}{}% - {\normalfont}{}% - {0pt}% - {\global\let\qedsymbol\simpleqedsymbol% - {\conditionalbfseries\thmname{#1}\thmnumber{ #2}}\hspace{.4em}% - \textcolor{maintext!27!paper}{$|$}\hspace{.4em}% - \color{maintext!50!paper}\thmnote{\ensuremath{(\text{#3})}~~}% - \pushQED{\qed}% - } -\def\@endtheorem{\global\let\qedsymbol\simpleqedsymbol% - \popQED\endtrivlist\@endpefalse - \global\let\qedsymbol\qedsymbolOriginal} - -\renewcommand{\qedsymbol}{% - \makebox[1em]{\color{maintext!27!paper}\rule[-0.1em]{.95em}{.95em}}} -\let\qedsymbolOriginal\qedsymbol - -\newtheoremstyle{basic} - {0pt}{0pt}{\normalfont}{0pt} - {}{\;}{0.25em} - {{\thmname{#1}~\thmnumber{\textup{#2}}} - \thmnote{\normalfont\colorist@sffamily\color{maintext}~(#3)}} - -\newtheoremstyle{emphasis} - {0pt}{0pt}{\itshape}{0pt}{}{}{0pt} - {\thmnote{\normalfont\colorist@sffamily\color{maintext}#3\hspace*{0.5em}}} - -\if@colorist@fast - \providecommand{\phantomsection}{} - \RequirePackage{url} - \newcommand{\href}[2]{#2} -\else - \PassOptionsToPackage{hidelinks,linktoc=all}{hyperref} - \RequirePackage{bookmark} - \RequirePackage{hyperref} -\fi - -\PassOptionsToPackage{nothms,simplename}{PJLthm} -\RequirePackage{PJLthm} - -\pretocmd{\theoremnameEN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\lemmanameEN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propositionnameEN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\corollarynameEN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propertynameEN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\factnameEN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conjecturenameEN}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\definitionnameEN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\axiomnameEN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\assumptionnameEN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conventionnameEN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\hypothesisnameEN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\notationnameEN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\examplenameEN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\problemnameEN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\questionnameEN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\exercisenameEN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\remarknameEN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\observationnameEN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\expandafter\def\csname definition-propositionnameEN\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definition}-\propositionnameEN} -\expandafter\def\csname definition-theoremnameEN\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definition}-\theoremnameEN} - -\pretocmd{\theoremnameFR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\lemmanameFR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propositionnameFR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\corollarynameFR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propertynameFR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\factnameFR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conjecturenameFR}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\definitionnameFR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\axiomnameFR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\assumptionnameFR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conventionnameFR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\hypothesisnameFR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\notationnameFR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\examplenameFR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\problemnameFR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\questionnameFR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\exercisenameFR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\remarknameFR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\observationnameFR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\expandafter\def\csname definition-propositionnameFR\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Définition}-\propositionnameFR} -\expandafter\def\csname definition-theoremnameFR\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Définition}-\theoremnameFR} - -\pretocmd{\theoremnameDE}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\lemmanameDE}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propositionnameDE}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\corollarynameDE}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propertynameDE}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\factnameDE}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conjecturenameDE}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\definitionnameDE}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\axiomnameDE}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\assumptionnameDE}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conventionnameDE}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\hypothesisnameDE}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\notationnameDE}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\examplenameDE}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\problemnameDE}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\questionnameDE}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\exercisenameDE}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\remarknameDE}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\observationnameDE}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\expandafter\def\csname definition-propositionnameDE\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definition}-\propositionnameDE} -\expandafter\def\csname definition-theoremnameDE\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definition}-\theoremnameDE} - -\pretocmd{\theoremnameIT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\lemmanameIT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propositionnameIT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\corollarynameIT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propertynameIT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\factnameIT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conjecturenameIT}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\definitionnameIT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\axiomnameIT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\assumptionnameIT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conventionnameIT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\hypothesisnameIT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\notationnameIT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\examplenameIT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\problemnameIT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\questionnameIT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\exercisenameIT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\remarknameIT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\observationnameIT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\expandafter\def\csname definition-propositionnameIT\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definizione}-\propositionnameIT} -\expandafter\def\csname definition-theoremnameIT\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definizione}-\theoremnameIT} - -\pretocmd{\theoremnamePT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\lemmanamePT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propositionnamePT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\corollarynamePT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propertynamePT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\factnamePT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conjecturenamePT}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\definitionnamePT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\axiomnamePT}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\assumptionnamePT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conventionnamePT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\hypothesisnamePT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\notationnamePT}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\examplenamePT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\problemnamePT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\questionnamePT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\exercisenamePT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\remarknamePT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\observationnamePT}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\expandafter\def\csname definition-propositionnamePT\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definição}-\propositionnamePT} -\expandafter\def\csname definition-theoremnamePT\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definição}-\theoremnamePT} - -\pretocmd{\theoremnameBR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\lemmanameBR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propositionnameBR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\corollarynameBR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propertynameBR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\factnameBR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conjecturenameBR}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\definitionnameBR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\axiomnameBR}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\assumptionnameBR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conventionnameBR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\hypothesisnameBR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\notationnameBR}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\examplenameBR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\problemnameBR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\questionnameBR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\exercisenameBR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\remarknameBR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\observationnameBR}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\expandafter\def\csname definition-propositionnameBR\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definição}-\propositionnameBR} -\expandafter\def\csname definition-theoremnameBR\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definição}-\theoremnameBR} - -\pretocmd{\theoremnameES}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\lemmanameES}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propositionnameES}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\corollarynameES}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\propertynameES}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\factnameES}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conjecturenameES}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\definitionnameES}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\axiomnameES}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\assumptionnameES}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\conventionnameES}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\hypothesisnameES}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\notationnameES}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\examplenameES}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\problemnameES}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\questionnameES}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\exercisenameES}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\remarknameES}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\pretocmd{\observationnameES}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries\colorist@textsc}{}{\FAIL} -\expandafter\def\csname definition-propositionnameES\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definição}-\propositionnameES} -\expandafter\def\csname definition-theoremnameES\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries\colorist@textsc{Definição}-\theoremnameES} - -\pretocmd{\theoremnameCN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\lemmanameCN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\propositionnameCN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\corollarynameCN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\propertynameCN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\factnameCN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\conjecturenameCN}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries}{}{\FAIL} -\pretocmd{\definitionnameCN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\axiomnameCN}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\assumptionnameCN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\conventionnameCN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\hypothesisnameCN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\notationnameCN}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\examplenameCN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\problemnameCN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\questionnameCN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\exercisenameCN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\remarknameCN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\observationnameCN}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\expandafter\def\csname definition-propositionnameCN\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{定义}-\propositionnameCN} -\expandafter\def\csname definition-theoremnameCN\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{定义}-\theoremnameCN} - -\pretocmd{\theoremnameTC}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\lemmanameTC}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\propositionnameTC}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\corollarynameTC}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\propertynameTC}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\factnameTC}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\conjecturenameTC}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries}{}{\FAIL} -\pretocmd{\definitionnameTC}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\axiomnameTC}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\assumptionnameTC}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\conventionnameTC}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\hypothesisnameTC}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\notationnameTC}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\examplenameTC}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\problemnameTC}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\questionnameTC}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\exercisenameTC}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\remarknameTC}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\observationnameTC}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\expandafter\def\csname definition-propositionnameTC\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{定義}-\propositionnameTC} -\expandafter\def\csname definition-theoremnameTC\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{定義}-\theoremnameTC} - -\pretocmd{\theoremnameJP}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\lemmanameJP}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\propositionnameJP}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\corollarynameJP}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\propertynameJP}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\factnameJP}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\conjecturenameJP}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries}{}{\FAIL} -\pretocmd{\definitionnameJP}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\axiomnameJP}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\assumptionnameJP}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\conventionnameJP}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\hypothesisnameJP}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\notationnameJP}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\examplenameJP}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\problemnameJP}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\questionnameJP}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\exercisenameJP}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\remarknameJP}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\observationnameJP}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\expandafter\def\csname definition-propositionnameJP\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{定義}-\propositionnameJP} -\expandafter\def\csname definition-theoremnameJP\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{定義}-\theoremnameJP} - -\pretocmd{\theoremnameRU}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\lemmanameRU}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\propositionnameRU}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\corollarynameRU}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\propertynameRU}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\factnameRU}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\conjecturenameRU}{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries}{}{\FAIL} -\pretocmd{\definitionnameRU}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\axiomnameRU}{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries}{}{\FAIL} -\pretocmd{\assumptionnameRU}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\conventionnameRU}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\hypothesisnameRU}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\notationnameRU}{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries}{}{\FAIL} -\pretocmd{\examplenameRU}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\problemnameRU}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\questionnameRU}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\exercisenameRU}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\remarknameRU}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\pretocmd{\observationnameRU}{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries}{}{\FAIL} -\expandafter\def\csname definition-propositionnameRU\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{Определение}-\propositionnameRU} -\expandafter\def\csname definition-theoremnameRU\endcsname{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries{Определение}-\theoremnameRU} - -\def\colorist@definethms{ -\if@colorist@nothms\else -\theoremstyle{basic} -\if@colorist@nothmnum -\CreateTheorem*{theorem} -\CreateTheorem*{lemma} -\CreateTheorem*{proposition} -\CreateTheorem*{corollary} -\CreateTheorem*{definition-proposition} -\CreateTheorem*{definition-theorem} -\CreateTheorem*{property} -\CreateTheorem*{fact} -\CreateTheorem*{conjecture} -\else -\CreateTheorem@thmnum{theorem} -\CreateTheorem{lemma}[theorem] -\CreateTheorem{proposition}[theorem] -\CreateTheorem{corollary}[theorem] -\CreateTheorem{definition-proposition}[theorem] -\CreateTheorem{definition-theorem}[theorem] -\CreateTheorem{property}[theorem] -\CreateTheorem{fact}[theorem] -\CreateTheorem{conjecture}[theorem] -\fi -\CreateTheorem*{theorem*} -\CreateTheorem*{lemma*} -\CreateTheorem*{proposition*} -\CreateTheorem*{corollary*} -\CreateTheorem*{definition-proposition*} -\CreateTheorem*{definition-theorem*} -\CreateTheorem*{property*} -\CreateTheorem*{fact*} -\CreateTheorem*{conjecture*} -\if@colorist@nothmnum -\CreateTheorem*{definition} -\CreateTheorem*{axiom} -\CreateTheorem*{assumption} -\CreateTheorem*{convention} -\CreateTheorem*{hypothesis} -\CreateTheorem*{notation} -\CreateTheorem*{example} -\CreateTheorem*{problem} -\CreateTheorem*{question} -\CreateTheorem*{exercise} -\else -\CreateTheorem{definition}[theorem] -\CreateTheorem{axiom}[theorem] -\CreateTheorem{assumption}[theorem] -\CreateTheorem{convention}[theorem] -\CreateTheorem{hypothesis}[theorem] -\CreateTheorem{notation}[theorem] -\CreateTheorem{example}[theorem] -\CreateTheorem{problem}[theorem] -\CreateTheorem{question}[theorem] -\CreateTheorem{exercise}[theorem] -\fi -\CreateTheorem*{definition*} -\CreateTheorem*{axiom*} -\CreateTheorem*{assumption*} -\CreateTheorem*{convention*} -\CreateTheorem*{hypothesis*} -\CreateTheorem*{notation*} -\CreateTheorem*{example*} -\CreateTheorem*{problem*} -\CreateTheorem*{question*} -\CreateTheorem*{exercise*} - -\theoremstyle{emphasis} -\if@colorist@nothmnum -\CreateTheorem*{remark} -\CreateTheorem*{observation} -\else -\CreateTheorem@thmnum{remark} -\CreateTheorem@thmnum{observation} -\fi -\CreateTheorem*{remark*} -\CreateTheorem*{observation*} - -\theoremstyle{simple} -\fi -} - -\if@colorist@delaythms - \AtEndPreamble{\colorist@definethms} -\else - \colorist@definethms -\fi - -\theoremstyle{simple} - -\creflabelformat{PJLtheorem}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{PJLlemma}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{PJLproposition}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{PJLcorollary}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{PJLproperty}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{PJLfact}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{PJLconjecture}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3} -\creflabelformat{PJLdefinition}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{PJLaxiom}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{PJLassumption}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{PJLconvention}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{PJLhypothesis}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{PJLnotation}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{PJLexample}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{PJLproblem}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{PJLquestion}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{PJLexercise}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{PJLdefinition-theorem}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{PJLdefinition-proposition}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} - -\creflabelformat{theoremEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{lemmaEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propositionEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{corollaryEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propertyEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{factEN}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{conjectureEN}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3} -\creflabelformat{definitionEN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{axiomEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{assumptionEN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{conventionEN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{hypothesisEN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{notationEN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{exampleEN}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{problemEN}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{questionEN}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{exerciseEN}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{definition-theoremEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{definition-propositionEN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} - -\creflabelformat{theoremFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{lemmaFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propositionFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{corollaryFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propertyFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{factFR}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{conjectureFR}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3} -\creflabelformat{definitionFR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{axiomFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{assumptionFR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{conventionFR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{hypothesisFR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{notationFR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{exampleFR}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{problemFR}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{questionFR}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{exerciseFR}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{definition-theoremFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{definition-propositionFR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} - -\creflabelformat{theoremDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{lemmaDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propositionDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{corollaryDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propertyDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{factDE}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{conjectureDE}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3} -\creflabelformat{definitionDE}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{axiomDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{assumptionDE}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{conventionDE}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{hypothesisDE}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{notationDE}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{exampleDE}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{problemDE}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{questionDE}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{exerciseDE}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{definition-theoremDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{definition-propositionDE}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} - -\creflabelformat{theoremIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{lemmaIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propositionIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{corollaryIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propertyIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{factIT}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{conjectureIT}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3} -\creflabelformat{definitionIT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{axiomIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{assumptionIT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{conventionIT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{hypothesisIT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{notationIT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{exampleIT}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{problemIT}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{questionIT}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{exerciseIT}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{definition-theoremIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{definition-propositionIT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} - -\creflabelformat{theoremPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{lemmaPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propositionPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{corollaryPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propertyPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{factPT}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{conjecturePT}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3} -\creflabelformat{definitionPT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{axiomPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{assumptionPT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{conventionPT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{hypothesisPT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{notationPT}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{examplePT}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{problemPT}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{questionPT}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{exercisePT}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{definition-theoremPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{definition-propositionPT}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} - -\creflabelformat{theoremBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{lemmaBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propositionBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{corollaryBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propertyBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{factBR}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{conjectureBR}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3} -\creflabelformat{definitionBR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{axiomBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{assumptionBR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{conventionBR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{hypothesisBR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{notationBR}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{exampleBR}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{problemBR}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{questionBR}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{exerciseBR}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{definition-theoremBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{definition-propositionBR}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} - -\creflabelformat{theoremES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{lemmaES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propositionES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{corollaryES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propertyES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{factES}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{conjectureES}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3} -\creflabelformat{definitionES}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{axiomES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{assumptionES}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{conventionES}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{hypothesisES}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{notationES}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{exampleES}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{problemES}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{questionES}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{exerciseES}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{definition-theoremES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{definition-propositionES}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} - -\creflabelformat{theoremCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{lemmaCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propositionCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{corollaryCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propertyCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{factCN}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{conjectureCN}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3} -\creflabelformat{definitionCN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{axiomCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{assumptionCN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{conventionCN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{hypothesisCN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{notationCN}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{exampleCN}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{problemCN}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{questionCN}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{exerciseCN}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{definition-theoremCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{definition-propositionCN}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} - -\creflabelformat{theoremTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{lemmaTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propositionTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{corollaryTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propertyTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{factTC}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{conjectureTC}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3} -\creflabelformat{definitionTC}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{axiomTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{assumptionTC}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{conventionTC}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{hypothesisTC}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{notationTC}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{exampleTC}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{problemTC}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{questionTC}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{exerciseTC}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{definition-theoremTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{definition-propositionTC}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} - -\creflabelformat{theoremJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{lemmaJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propositionJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{corollaryJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propertyJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{factJP}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{conjectureJP}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3} -\creflabelformat{definitionJP}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{axiomJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{assumptionJP}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{conventionJP}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{hypothesisJP}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{notationJP}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{exampleJP}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{problemJP}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{questionJP}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{exerciseJP}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{definition-theoremJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{definition-propositionJP}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} - -\creflabelformat{theoremRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{lemmaRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propositionRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{corollaryRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{propertyRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{factRU}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{conjectureRU}{#2{\normalfont\colorist@sffamily\color{purple}\conditionalbfseries#1}#3} -\creflabelformat{definitionRU}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{axiomRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{assumptionRU}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{conventionRU}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{hypothesisRU}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{notationRU}{#2{\normalfont\colorist@sffamily\color{forestgreen}\conditionalbfseries#1}#3} -\creflabelformat{exampleRU}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{problemRU}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{questionRU}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{exerciseRU}{#2{\normalfont\colorist@sffamily\color{maintext}\conditionalbfseries#1}#3} -\creflabelformat{definition-theoremRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} -\creflabelformat{definition-propositionRU}{#2{\normalfont\colorist@sffamily\color{orange}\conditionalbfseries#1}#3} - -\RequirePackage{marginnote} -\RequirePackage{ifoddpage} -\newcommand{\mparadjust}[1]{\renewcommand*{\marginnotevadjust}{#1}} -\AtEndPreamble{ % For puretext mode -\pretocmd{\remark}{% - \if@twoside\checkoddpage% - \ifoddpage\reversemarginpar\fi% - \else% - \reversemarginpar% - \fi% - \mparadjust{-.25em}% - \marginnote{\ideabulb[0.3]{orange}% - \ifIsBook% - \hspace*{-.2em}% - \else% - \hspace*{-.5em}% - \fi% - }\normalmarginpar% -}{}{} -\pretocmd{\conjecture}{% - \if@twoside\checkoddpage% - \ifoddpage\reversemarginpar\fi% - \else% - \reversemarginpar% - \fi% - \mparadjust{-.25em}% - \marginnote{\questionmark[0.3]{purple}% - \ifIsBook% - \hspace*{-.2em}% - \else% - \hspace*{-.5em}% - \fi% - }\normalmarginpar% -}{}{} -} - -\RequirePackage{iftex} -\ifXeTeX -\def\pgfsys@hboxsynced#1{% -{% - \pgfsys@beginscope% - \setbox\pgf@hbox=\hbox{% - \hskip\pgf@pt@x% - \raise\pgf@pt@y\hbox{% - \pgf@pt@x=0pt% - \pgf@pt@y=0pt% - \special{pdf: content q}% - \pgflowlevelsynccm% - \pgfsys@invoke{q -1 0 0 -1 0 0 cm}% - \special{pdf: content -1 0 0 -1 0 0 cm q} - % translate to original coordinate system - \pgfsys@invoke{0 J [] 0 d}% reset line cap and dash - \wd#1=0pt% - \ht#1=0pt% - \dp#1=0pt% - \box#1% - \pgfsys@invoke{n Q Q Q}% - }% - \hss% - }% - \wd\pgf@hbox=0pt% - \ht\pgf@hbox=0pt% - \dp\pgf@hbox=0pt% - \pgfsys@hbox\pgf@hbox% - \pgfsys@endscope% -}} -\fi - -\renewenvironment{proof}[1][\proofname]{\par - \pushQED{\qed}% - \normalfont \topsep6\p@\@plus6\p@\relax - \trivlist - \item[\hskip\labelsep - \itshape - #1\hspace{.4em}% - \textcolor{maintext!27!paper}{$|$}]\ignorespaces -}{% - \popQED\endtrivlist\@endpefalse -} - -\RequirePackage[many]{tcolorbox} -\if@colorist@fast - \tcbstartdraftmode -\fi -\tcolorboxenvironment{theorem} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{theorem*} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{lemma} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{lemma*} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{proposition} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{proposition*} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{corollary} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{corollary*} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{property} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{property*} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{axiom} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{axiom*} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{definition-proposition} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{definition-proposition*} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{definition-theorem} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} -\tcolorboxenvironment{definition-theorem*} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.9,colframe=orange,arc=.7mm} - -\tcolorboxenvironment{fact} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!5!paper, - boxrule=0pt,frame hidden,arc=.7mm} -\tcolorboxenvironment{fact*} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!5!paper, - boxrule=0pt,frame hidden,arc=.7mm} - -\tcolorboxenvironment{conjecture} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.7,colframe=purple,arc=.7mm} -\tcolorboxenvironment{conjecture*} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!3!paper, - left=3.5mm,right=3.5mm, - opacityframe=0.7,colframe=purple,arc=.7mm} - -\tcolorboxenvironment{definition} - {enhanced jigsaw,pad at break*=1mm,breakable, - left=4mm,right=4mm,top=1mm,bottom=1mm, - colback=lightorange!10!paper,boxrule=0pt,frame hidden, - borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm} -\tcolorboxenvironment{definition*} - {enhanced jigsaw,pad at break*=1mm,breakable, - left=4mm,right=4mm,top=1mm,bottom=1mm, - colback=lightorange!10!paper,boxrule=0pt,frame hidden, - borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm} -\tcolorboxenvironment{assumption} - {enhanced jigsaw,pad at break*=1mm,breakable, - left=4mm,right=4mm,top=1mm,bottom=1mm, - colback=lightorange!10!paper,boxrule=0pt,frame hidden, - borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm} -\tcolorboxenvironment{assumption*} - {enhanced jigsaw,pad at break*=1mm,breakable, - left=4mm,right=4mm,top=1mm,bottom=1mm, - colback=lightorange!10!paper,boxrule=0pt,frame hidden, - borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm} -\tcolorboxenvironment{convention} - {enhanced jigsaw,pad at break*=1mm,breakable, - left=4mm,right=4mm,top=1mm,bottom=1mm, - colback=lightorange!10!paper,boxrule=0pt,frame hidden, - borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm} -\tcolorboxenvironment{convention*} - {enhanced jigsaw,pad at break*=1mm,breakable, - left=4mm,right=4mm,top=1mm,bottom=1mm, - colback=lightorange!10!paper,boxrule=0pt,frame hidden, - borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm} -\tcolorboxenvironment{hypothesis} - {enhanced jigsaw,pad at break*=1mm,breakable, - left=4mm,right=4mm,top=1mm,bottom=1mm, - colback=lightorange!10!paper,boxrule=0pt,frame hidden, - borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm} -\tcolorboxenvironment{hypothesis*} - {enhanced jigsaw,pad at break*=1mm,breakable, - left=4mm,right=4mm,top=1mm,bottom=1mm, - colback=lightorange!10!paper,boxrule=0pt,frame hidden, - borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm} -\tcolorboxenvironment{notation} - {enhanced jigsaw,pad at break*=1mm,breakable, - left=4mm,right=4mm,top=1mm,bottom=1mm, - colback=lightorange!10!paper,boxrule=0pt,frame hidden, - borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm} -\tcolorboxenvironment{notation*} - {enhanced jigsaw,pad at break*=1mm,breakable, - left=4mm,right=4mm,top=1mm,bottom=1mm, - colback=lightorange!10!paper,boxrule=0pt,frame hidden, - borderline west={1.5mm}{0mm}{forestgreen},arc=.7mm} - -\tcolorboxenvironment{example} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!5!paper, - boxrule=0pt,frame hidden,arc=.7mm,lines before break=3} -\tcolorboxenvironment{example*} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=maintext!5!paper, - boxrule=0pt,frame hidden,arc=.7mm,lines before break=3} - -\tcolorboxenvironment{problem} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper, - boxrule=0pt,frame hidden,arc=.7mm} -\tcolorboxenvironment{problem*} - {enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper, - boxrule=0pt,frame hidden,arc=.7mm} - -\tcolorboxenvironment{question} - {enhanced jigsaw,pad at break*=1mm,breakable,oversize, - top=0mm,bottom=0mm, - opacityframe=0,opacityback=0,lines before break=3} -\tcolorboxenvironment{question*} - {enhanced jigsaw,pad at break*=1mm,breakable,oversize, - top=0mm,bottom=0mm, - opacityframe=0,opacityback=0,lines before break=3} -\tcolorboxenvironment{exercise} - {enhanced jigsaw,pad at break*=1mm,breakable,oversize, - top=0mm,bottom=0mm, - opacityframe=0,opacityback=0,lines before break=3} -\tcolorboxenvironment{exercise*} - {enhanced jigsaw,pad at break*=1mm,breakable,oversize, - top=0mm,bottom=0mm, - opacityframe=0,opacityback=0,lines before break=3} -\tcolorboxenvironment{remark} - {enhanced jigsaw,pad at break*=1mm,breakable,oversize, - top=0mm,bottom=0mm, - opacityframe=0,opacityback=0,lines before break=3} -\tcolorboxenvironment{remark*} - {enhanced jigsaw,pad at break*=1mm,breakable,oversize, - top=0mm,bottom=0mm, - opacityframe=0,opacityback=0,lines before break=3} -\tcolorboxenvironment{observation} - {enhanced jigsaw,pad at break*=1mm,breakable,oversize, - top=0mm,bottom=0mm, - opacityframe=0,opacityback=0,lines before break=3} -\tcolorboxenvironment{observation*} - {enhanced jigsaw,pad at break*=1mm,breakable,oversize, - top=0mm,bottom=0mm, - opacityframe=0,opacityback=0,lines before break=3} - -\ExplSyntaxOn -\NewDocumentCommand \AfterEnvEnd { +m } - { \colorist_after_env_end:nw {#1} } -\cs_new_protected:Npn \colorist_after_env_end:nw #1 #2 - \if@ignore\@ignorefalse\ignorespaces\fi - { #2 \if@ignore\@ignorefalse\ignorespaces\fi #1 } - \NewDocumentCommand \ScanEnv { s m +m+m } +\keys_define:nn { colorist } { - \IfBooleanTF {#1} - { \jinwen_scan_env_ignore_par:nTF } - { \jinwen_scan_env:nTF } - {#2} {#3} {#4} + , draft .bool_set:N = \l__colorist_fast_bool + , draft .initial:n = { false } + , fast .bool_set:N = \l__colorist_fast_bool + + , style .str_set:N = \l__colorist_style_str + , style .initial:n = { fancy } + , fancy .meta:n = { style = fancy } + + , use-boldface .bool_set:N = \l__colorist_use_boldface_bool + , use-boldface .initial:n = { false } + , use~boldface .bool_set:N = \l__colorist_use_boldface_bool + , use boldface .bool_set:N = \l__colorist_use_boldface_bool + , usebf .bool_set:N = \l__colorist_use_boldface_bool + , allow-boldface .bool_set:N = \l__colorist_use_boldface_bool + , allow~boldface .bool_set:N = \l__colorist_use_boldface_bool + , allow boldface .bool_set:N = \l__colorist_use_boldface_bool + , allowbf .bool_set:N = \l__colorist_use_boldface_bool + , runin .bool_set:N = \l__colorist_runin_bool + , runin .initial:n = { false } + + , theorem-in-new-line .bool_set:N = \l__colorist_theorem_in_new_line_bool + , theorem-in-new-line .initial:n = { false } + , theorem~in~new~line .bool_set:N = \l__colorist_theorem_in_new_line_bool + , theorem in new line .bool_set:N = \l__colorist_theorem_in_new_line_bool + + , unknown .code:n = { + \PassOptionsToPackage { \CurrentOption } { projlib-language } + \PassOptionsToPackage { \CurrentOption } { projlib-author } + \PassOptionsToPackage { \CurrentOption } { projlib-datetime } + \PassOptionsToPackage { \CurrentOption } { projlib-draft } + \PassOptionsToPackage { \CurrentOption } { projlib-font } + \PassOptionsToPackage { \CurrentOption } { projlib-logo } + \PassOptionsToPackage { \CurrentOption } { projlib-math } + \PassOptionsToPackage { \CurrentOption } { projlib-paper } + \PassOptionsToPackage { \CurrentOption } { projlib-theorem } + } } -\cs_new_protected:Npn \jinwen_scan_env:nTF - { \__jinwen_scan_env:NnTF \c_false_bool } -\cs_new_protected:Npn \jinwen_scan_env_ignore_par:nTF - { \__jinwen_scan_env:NnTF \c_true_bool } -\tl_new:N \l__jinwen_collected_tl -\cs_new_protected:Npn \__jinwen_scan_env:NnTF #1 #2 #3 #4 - { - \tl_clear:N \l__jinwen_collected_tl - \peek_analysis_map_inline:n - { - \tl_put_right:Nn \l__jinwen_collected_tl {##1} - \int_compare:nNnTF { "##3 } = { 0 } - { - \exp_args:No \token_if_eq_meaning:NNTF {##1} \begin - { \peek_analysis_map_break:n { \__jinwen_chk_env:nTFn {#2} {#3} {#4} } } - { - \bool_lazy_and:nnF {#1} - { \exp_args:No \token_if_eq_meaning_p:NN {##1} \par } - { \__jinwen_scan_env_end:n {#4} } - } - } - { \int_compare:nNnF { "##3 } = { 10 } { \__jinwen_scan_env_end:n {#4} } } - } - } -\cs_new_protected:Npn \__jinwen_scan_env_end:n #1 - { \peek_analysis_map_break:n { \__jinwen_reinsert_tokens:nn {#1} { } } } -\cs_new_protected:Npn \__jinwen_reinsert_tokens:nn #1 #2 +\ProcessKeysOptions { colorist } + +\bool_new:N \l__colorist_is_book_bool +\cs_if_exist:cTF { c@chapter } { - \use:x - { - \tl_clear:N \exp_not:N \l__jinwen_collected_tl - \exp_not:n {#1} \l__jinwen_collected_tl #2 - } + \bool_set_true:N \l__colorist_is_book_bool } -\cs_new_protected:Npn \__jinwen_chk_env:nTFn #1 #2 #3 #4 { - \exp_args:Nx \__jinwen_reinsert_tokens:nn - { \str_if_eq:nnTF {#1} {#4} { \exp_not:n {#2} } { \exp_not:n {#3} } } { {#4} } + \bool_set_false:N \l__colorist_is_book_bool } -\ExplSyntaxOff - -\def\scandefinitionenv{% - \AfterEnvEnd{% - \ScanEnv*{definition}% - {\vspace{-1.05\baselineskip}}% - {\ScanEnv*{definition*}% - {\vspace{-1.05\baselineskip}}% - {}}}} -\AddToHook{env/definition/end}{\scandefinitionenv}% -\AddToHook{env/definition*/end}{\scandefinitionenv}% - -\def\scanassumptionenv{% - \AfterEnvEnd{% - \ScanEnv*{assumption}% - {\vspace{-1.05\baselineskip}}% - {\ScanEnv*{assumption*}% - {\vspace{-1.05\baselineskip}}% - {}}}} -\AddToHook{env/assumption/end}{\scanassumptionenv}% -\AddToHook{env/assumption*/end}{\scanassumptionenv}% - -\def\scanconventionenv{% - \AfterEnvEnd{% - \ScanEnv*{convention}% - {\vspace{-1.05\baselineskip}}% - {\ScanEnv*{convention*}% - {\vspace{-1.05\baselineskip}}% - {}}}} -\AddToHook{env/convention/end}{\scanconventionenv}% -\AddToHook{env/convention*/end}{\scanconventionenv}% - -\def\scanhypothesisenv{% - \AfterEnvEnd{% - \ScanEnv*{hypothesis}% - {\vspace{-1.05\baselineskip}}% - {\ScanEnv*{hypothesis*}% - {\vspace{-1.05\baselineskip}}% - {}}}} -\AddToHook{env/hypothesis/end}{\scanhypothesisenv}% -\AddToHook{env/hypothesis*/end}{\scanhypothesisenv}% - -\def\scannotationenv{% - \AfterEnvEnd{% - \ScanEnv*{notation}% - {\vspace{-1.05\baselineskip}}% - {\ScanEnv*{notation*}% - {\vspace{-1.05\baselineskip}}% - {}}}} -\AddToHook{env/notation/end}{\scannotationenv}% -\AddToHook{env/notation*/end}{\scannotationenv}% - -\ifbool{IsBook}{}{% %%================================ -%% Title block style +%% Paper configuration %%================================ -\renewcommand{\@maketitle}{% -\begin{center}% - \color{maintheme}% - {\Large\colorist@sffamily\scshape\conditionalbfseries\@title}\\\bigskip% - \color{maintext!80!paper}% - {\scshape\@author}\\\smallskip% - {\@date}% -\end{center}% -\ifx\@date\@empty\bigskip\fi% -\medskip% -} -\apptocmd{\maketitle}{\thispagestyle{fancy}}{}{\FAIL} +\RequirePackage { projlib-paper } %%================================ -%% Abstract style +%% Multi-language support %%================================ -\renewenvironment{abstract} -{\small{\centerline{\textsc{\conditionalbfseries\sffamily\abstractname}}\vspace{-0.3\baselineskip}} - \color{maintext!80!paper}\begin{quotation}} -{\end{quotation}\medskip} +\RequirePackage { projlib-language } %%================================ -%% Keyword +%% Loading the style %%================================ -\def\keywordnameEN{\textsc{Keywords}} -\def\keywordnameFR{\textsc{Mots clés}} -\def\keywordnameDE{\textsc{Schlüsselwörter}} -\def\keywordnameCN{关键词} -\def\keywordnameTC{關鍵詞} -\def\keywordnameJP{キーワード} -\def\keywordnameRU{Ключевые слова} - -\newenvironment{keyword} -{\small{\centerline{{\conditionalbfseries\csname keywordname\csname\languagename ABBR\endcsname\endcsname}}\vspace{-0.3\baselineskip}} - \color{maintext!80!paper}\begin{center}} -{\end{center}\medskip} - -%%================================ -%% Simulate features of amsart -%%================================ -\PassOptionsToPackage{amsfashion}{PJLauthor} -\RequirePackage{PJLauthor} - -} +\exp_args:No \RequirePackage { colorist- \l__colorist_style_str } \endinput %% diff --git a/Master/texmf-dist/tex/latex/einfart/einfart.cls b/Master/texmf-dist/tex/latex/einfart/einfart.cls index 38fe5550d16..1700e3a245a 100644 --- a/Master/texmf-dist/tex/latex/einfart/einfart.cls +++ b/Master/texmf-dist/tex/latex/einfart/einfart.cls @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplClass {einfart} - {2022/03/17} {} + {2022/03/19} {} {A simple and clear article style} \tl_const:Nn \l__minimclass_base_class_tl { article } diff --git a/Master/texmf-dist/tex/latex/lebhart/lebhart.cls b/Master/texmf-dist/tex/latex/lebhart/lebhart.cls index 13b601abc16..4c033e65126 100644 --- a/Master/texmf-dist/tex/latex/lebhart/lebhart.cls +++ b/Master/texmf-dist/tex/latex/lebhart/lebhart.cls @@ -2,7 +2,7 @@ %% This is file `lebhart/lebhart.cls', %% generated with the docstrip utility. -%% Copyright (C) 2021 by Jinwen XU +%% Copyright (C) 2021-2022 by Jinwen XU %% %% This is part of the colorist class series. %% @@ -16,551 +16,665 @@ %% 2005/12/01 or later. %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] -\ProvidesClass{lebhart} - [2021/12/16 A colorful article style] -\def\colorclass@baseclass{article} -\RequirePackage{kvoptions} -\RequirePackage{etoolbox} -\SetupKeyvalOptions{ - family = @colorclass, - prefix = @colorclass@, -} -\DeclareBoolOption[false]{draft} -\DeclareBoolOption[false]{fast} -\DeclareBoolOption[false]{useosf} -\DeclareBoolOption[false]{lmodern} -\DeclareBoolOption[false]{palatino} -\DeclareBoolOption[false]{times} -\DeclareBoolOption[false]{garamond} -\DeclareBoolOption[false]{noto} -\DeclareBoolOption[false]{biolinum} -\DeclareBoolOption[false]{customfont} -\DeclareStringOption{thmnum}[PJL@thmnum@default] - -\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse -\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue} -\newif\if@colorclass@afourpaper\@colorclass@afourpaperfalse -\DeclareVoidOption{a4paper}{\@colorclass@afourpapertrue} - -\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\colorclass@baseclass}} -\ProcessKeyvalOptions*\relax -\LoadClass{\colorclass@baseclass} - -\if@colorclass@draft - \@colorclass@fasttrue -\fi -\if@colorclass@lmodern - \@colorclass@customfonttrue -\fi -\if@colorclass@palatino - \@colorclass@customfonttrue -\fi -\if@colorclass@times - \@colorclass@customfonttrue -\fi -\if@colorclass@garamond - \@colorclass@customfonttrue -\fi -\if@colorclass@noto - \@colorclass@customfonttrue -\fi -\if@colorclass@biolinum - \@colorclass@customfonttrue -\fi +\RequirePackage{l3keys2e} +\ProvidesExplClass + {lebhart} + {2022/03/19} {} + {A colorful article style} + +\tl_const:Nn \l__colorclass_base_class_tl { article } + + +\bool_new:N \l__colorclass_load_custom_font_file_bool +\bool_set_false:N \l__colorclass_load_custom_font_file_bool + +\bool_new:N \l__colorclass_load_custom_font_file_latin_bool +\bool_set_false:N \l__colorclass_load_custom_font_file_latin_bool + +\bool_new:N \l__colorclass_load_custom_font_file_cjk_bool +\bool_set_false:N \l__colorclass_load_custom_font_file_cjk_bool + +\bool_new:N \l__colorclass_load_custom_font_file_math_bool +\bool_set_false:N \l__colorclass_load_custom_font_file_math_bool + +\keys_define:nn { colorclass } + { + , draft .bool_set:N = \l__colorclass_fast_bool + , draft .initial:n = { false } + , fast .bool_set:N = \l__colorclass_fast_bool + + + , load custom font file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_bool + \str_set:Nn \l__colorclass_custom_font_file_str { #1 } + \bool_set_true:N \l__colorclass_load_custom_font_file_latin_bool + \str_set:Nn \l__colorclass_custom_font_file_latin_str { colorist.font.latin } + \bool_set_true:N \l__colorclass_load_custom_font_file_cjk_bool + \str_set:Nn \l__colorclass_custom_font_file_cjk_str { colorist.font.cjk } + \bool_set_true:N \l__colorclass_load_custom_font_file_math_bool + \str_set:Nn \l__colorclass_custom_font_file_math_str { colorist.font.math } + } + , load custom font file .default:n = { colorist.font } + , load~custom~font~file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_bool + \str_set:Nn \l__colorclass_custom_font_file_str { #1 } + } + , load~custom~font~file .default:n = { colorist.font } + , load-custom-font-file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_bool + \str_set:Nn \l__colorclass_custom_font_file_str { #1 } + } + , load-custom-font-file .default:n = { colorist.font } + + , load custom latin font file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_latin_bool + \str_set:Nn \l__colorclass_custom_font_file_latin_str { #1 } + } + , load custom latin font file .default:n = { colorist.font.latin } + , load~custom~latin~font~file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_latin_bool + \str_set:Nn \l__colorclass_custom_font_file_latin_str { #1 } + } + , load~custom~latin~font~file .default:n = { colorist.font.latin } + , load-custom-latin-font-file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_latin_bool + \str_set:Nn \l__colorclass_custom_font_file_latin_str { #1 } + } + , load-custom-latin-font-file .default:n = { colorist.font.latin } + + , load custom cjk font file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_cjk_bool + \str_set:Nn \l__colorclass_custom_font_file_cjk_str { #1 } + } + , load custom cjk font file .default:n = { colorist.font.cjk } + , load~custom~cjk~font~file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_cjk_bool + \str_set:Nn \l__colorclass_custom_font_file_cjk_str { #1 } + } + , load~custom~cjk~font~file .default:n = { colorist.font.cjk } + , load-custom-cjk-font-file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_cjk_bool + \str_set:Nn \l__colorclass_custom_font_file_cjk_str { #1 } + } + , load-custom-cjk-font-file .default:n = { colorist.font.cjk } + + , load custom math font file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_math_bool + \str_set:Nn \l__colorclass_custom_font_file_math_str { #1 } + } + , load custom math font file .default:n = { colorist.font.math } + , load~custom~math~font~file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_math_bool + \str_set:Nn \l__colorclass_custom_font_file_math_str { #1 } + } + , load~custom~math~font~file .default:n = { colorist.font.math } + , load-custom-math-font-file .code:n = { + \bool_set_true:N \l__colorclass_load_custom_font_file_math_bool + \str_set:Nn \l__colorclass_custom_font_file_math_str { #1 } + } + , load-custom-math-font-file .default:n = { colorist.font.math } + + , a4paper .bool_set:N = \l__colorclass_a_four_paper_bool + , a4paper .initial:n = { false } + , b5paper .bool_set:N = \l__colorclass_b_five_paper_bool + , b5paper .initial:n = { false } + + , 11pt .code:n = { \PassOptionsToClass { \CurrentOption } { \l__colorclass_base_class_tl } } + , 12pt .code:n = { \PassOptionsToClass { \CurrentOption } { \l__colorclass_base_class_tl } } + + , unknown .code:n = { + \PassOptionsToPackage { \CurrentOption } { colorist } + } + } +\ProcessKeysOptions { colorclass } + +\LoadClass{\l__colorclass_base_class_tl} %%================================ -%% Page layout +%% Page layout %%================================ -\RequirePackage{silence} -\WarningFilter{geometry}{Over-specification in} -\RequirePackage[heightrounded]{geometry} -\geometry{ - papersize={8.5in,11in}, - % total={47em,66em}, - total={6.500in,9.130in}, - hmarginratio=1:1, - vmarginratio=1:1, - footnotesep=2em plus 2pt minus 2pt, -} -\if@colorclass@bfivepaper -\geometry{ - b5paper, - % total={40em,59em}, - total={5.535in,8.160in}, - hmarginratio=1:1, - vmarginratio=1:1, - footnotesep=2em plus 2pt minus 2pt, -} -\fi -\if@colorclass@afourpaper -\geometry{ - a4paper, - % total={47em,70em}, - total={6.500in,9.685in}, - hmarginratio=1:1, - vmarginratio=1:1, - footnotesep=2em plus 2pt minus 2pt, -} -\fi - -\RequirePackage{indentfirst} - -\if@colorclass@fast - \PassOptionsToPackage{fast}{colorist} - \RequirePackage{draftwatermark} - \DraftwatermarkOptions{text={\normalfont DRAFT},color=paper!95!-paper} -\fi - -\RequirePackage{colorist} +\RequirePackage { silence } +\WarningFilter { geometry } { Over-specification } + +\PassOptionsToPackage { heightrounded } { geometry } +\RequirePackage { geometry } + +\geometry + { + papersize = { 8.5in, 11in }, + total = { 6.500in, 9.130in }, + centering, + footnotesep = 2em plus 2pt minus 2pt, + } + +\bool_if:NT \l__colorclass_b_five_paper_bool + { + \geometry + { + b5paper, + total = { 5.535in, 8.160in }, + centering, + footnotesep = 2em plus 2pt minus 2pt, + } + } + +\bool_if:NT \l__colorclass_a_four_paper_bool + { + \geometry + { + a4paper, + total = { 6.500in, 9.685in }, + centering, + footnotesep = 2em plus 2pt minus 2pt, + } + } + +\bool_if:NT \l__colorclass_fast_bool + { + \PassOptionsToPackage { fast } { colorist } + \RequirePackage { draftwatermark } + \DraftwatermarkOptions { text = { \normalfont DRAFT }, color = paper!97!-paper } + } + +\RequirePackage { indentfirst } + +\RequirePackage { colorist } + +\hfuzz=2pt +\vfuzz=2pt %%================================ -%% Fonts +%% Fonts %%================================ -\if@colorclass@customfont\else - \if@colorclass@fast - \RequirePackage{mathpazo} - \fi -\fi - -\PassOptionsToPackage{no-math,quiet}{fontspec} -\RequirePackage{fontspec} - -\IfFileExists{colorist-font.tex}{ - \input{colorist-font.tex} -}{ -\IfFontExistsTF{Palatino Linotype}{% - \setmainfont{Palatino Linotype} - [\if@colorclass@useosf Numbers = OldStyle\fi] -}{ - \setmainfont{TeXGyrePagellaX-Regular.otf}[ - BoldFont = TeXGyrePagellaX-Bold.otf , - ItalicFont = TeXGyrePagellaX-Italic.otf , - BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf, - \if@colorclass@useosf Numbers = OldStyle\fi ] -} - \setsansfont{SourceSansPro-Regular.otf}[ - Scale = MatchLowercase , - BoldFont = SourceSansPro-Bold.otf , - ItalicFont = SourceSansPro-RegularIt.otf , - BoldItalicFont = SourceSansPro-BoldIt.otf ] - \setmonofont{NewCMMono10-Regular.otf}[ - Scale = 1.05 , - BoldFont = NewCMMono10-Bold.otf , - ItalicFont = NewCMMono10-Italic.otf , - BoldItalicFont = NewCMMono10-BoldOblique.otf ] -} - -\PassOptionsToPackage{fontset=none,scheme=plain}{ctex} -\RequirePackage{ctex} - -\IfFileExists{colorist-font.cjk.tex}{ - \input{colorist-font.cjk.tex} -}{ -\IfFontExistsTF{SourceHanSerifSC-Regular}{% - \setCJKmainfont{SourceHanSerifSC-Regular}[ - BoldFont = SourceHanSerifSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifSC-Bold ] -}{ - \setCJKmainfont{FandolSong-Regular.otf}[ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , - BoldItalicFeatures = {FakeBold=4} ] -} - -\IfFontExistsTF{SourceHanSansSC-Regular}{% - \setCJKsansfont{SourceHanSansSC-Regular}[ - BoldFont = SourceHanSansSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansSC-Bold ] -}{ - \setCJKsansfont{FandolHei-Regular.otf}[ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf ] -} - -\IfFontExistsTF{SourceHanMonoSC-Regular}{% - \setCJKmonofont{SourceHanMonoSC-Regular}[ - BoldFont = SourceHanMonoSC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoSC-Medium ] -}{ - \setCJKmonofont{FandolFang-Regular.otf}[ - BoldFont = * , - BoldFeatures = {FakeBold=4} , - ItalicFont = * , - BoldItalicFont = * , - BoldItalicFeatures = {FakeBold=4} ] -} - -\if@PJLlang@enable@CN -\IfFontExistsTF{SourceHanSerifSC-Regular}{% - \setCJKfamilyfont{SCmain}{SourceHanSerifSC-Regular}[ - BoldFont = SourceHanSerifSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifSC-Bold ] -}{ - \setCJKfamilyfont{SCmain}{FandolSong-Regular.otf}[ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , - BoldItalicFeatures = {FakeBold=4} ] -} -\IfFontExistsTF{SourceHanSansSC-Regular}{% - \setCJKfamilyfont{SCsans}{SourceHanSansSC-Regular}[ - BoldFont = SourceHanSansSC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansSC-Bold ] -}{ - \setCJKfamilyfont{SCsans}{FandolHei-Regular.otf}[ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf ] -} -\IfFontExistsTF{SourceHanMonoSC-Regular}{% - \setCJKfamilyfont{SCmono}{SourceHanMonoSC-Regular}[ - BoldFont = SourceHanMonoSC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoSC-Medium ] -}{ - \setCJKfamilyfont{SCmono}{FandolFang-Regular.otf}[ - BoldFont = * , - BoldFeatures = {FakeBold=4} , - ItalicFont = * , - BoldItalicFont = * , - BoldItalicFeatures = {FakeBold=4} ] -} -\fi - -\if@PJLlang@enable@TC -\IfFontExistsTF{SourceHanSerifTC-Regular}{% - \setCJKfamilyfont{TCmain}{SourceHanSerifTC-Regular}[ - BoldFont = SourceHanSerifTC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerifTC-Bold ] -}{ - \setCJKfamilyfont{TCmain}{FandolSong-Regular.otf}[ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , - BoldItalicFeatures = {FakeBold=4} ] -} -\IfFontExistsTF{SourceHanSansTC-Regular}{% - \setCJKfamilyfont{TCsans}{SourceHanSansTC-Regular}[ - BoldFont = SourceHanSansTC-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSansTC-Bold ] -}{ - \setCJKfamilyfont{TCsans}{FandolHei-Regular.otf}[ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf ] -} -\IfFontExistsTF{SourceHanMonoTC-Regular}{% - \setCJKfamilyfont{TCmono}{SourceHanMonoTC-Regular}[ - BoldFont = SourceHanMonoTC-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMonoTC-Medium ] -}{ - \setCJKfamilyfont{TCmono}{FandolFang-Regular.otf}[ - BoldFont = * , - BoldFeatures = {FakeBold=4} , - ItalicFont = * , - BoldItalicFont = * , - BoldItalicFeatures = {FakeBold=4} ] -} -\fi - -\if@PJLlang@enable@JP -\IfFontExistsTF{SourceHanSerif-Regular}{% - \setCJKfamilyfont{JPmain}{SourceHanSerif-Regular}[ - BoldFont = SourceHanSerif-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSerif-Bold ] -}{ - \setCJKfamilyfont{JPmain}{FandolSong-Regular.otf}[ - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf , - BoldItalicFont = FandolKai-Regular.otf , - BoldItalicFeatures = {FakeBold=4} ] -} -\IfFontExistsTF{SourceHanSans-Regular}{% - \setCJKfamilyfont{JPsans}{SourceHanSans-Regular}[ - BoldFont = SourceHanSans-Bold , - ItalicFont = * , - BoldItalicFont = SourceHanSans-Bold ] -}{ - \setCJKfamilyfont{JPsans}{FandolHei-Regular.otf}[ - BoldFont = FandolHei-Bold.otf , - ItalicFont = * , - BoldItalicFont = FandolHei-Bold.otf ] -} -\IfFontExistsTF{SourceHanMono-Regular}{% - \setCJKfamilyfont{JPmono}{SourceHanMono-Regular}[ - BoldFont = SourceHanMono-Medium , - ItalicFont = * , - BoldItalicFont = SourceHanMono-Medium ] -}{ - \setCJKfamilyfont{JPmono}{FandolFang-Regular.otf}[ - BoldFont = * , - BoldFeatures = {FakeBold=4} , - ItalicFont = * , - BoldItalicFont = * , - BoldItalicFeatures = {FakeBold=4} ] -} -\fi - -\WarningFilter{latexfont}{Font shape} -\WarningFilter{latexfont}{Some font} - -\def\CJKsffamily{} -\def\CJKttfamily{} - -\apptocmd{\sffamily}{\CJKsffamily}{}{\FAIL} -\apptocmd{\ttfamily}{\CJKttfamily}{}{\FAIL} - -\if@PJLlang@enable@CN -\gappto{\PJLlang@langconfig@CN}{% - \def\CJKsffamily{\CJKfamily{SCsans}}% - \def\CJKttfamily{\CJKfamily{SCmono}}% - \CJKfamily{SCmain}% -} -\fi - -\if@PJLlang@enable@TC -\gappto{\PJLlang@langconfig@TC}{% - \def\CJKsffamily{\CJKfamily{TCsans}}% - \def\CJKttfamily{\CJKfamily{TCmono}}% - \CJKfamily{TCmain}% -} -\fi - -\if@PJLlang@enable@JP -\gappto{\PJLlang@langconfig@JP}{% - \def\CJKsffamily{\CJKfamily{JPsans}}% - \def\CJKttfamily{\CJKfamily{JPmono}}% - \CJKfamily{JPmain}% -} -\fi -} - -\if@colorclass@customfont\else -\if@colorclass@fast -\RequirePackage{amssymb} -\else -\PassOptionsToPackage - {warnings-off={mathtools-colon,mathtools-overbracket}}{unicode-math} -\RequirePackage{unicode-math} -\unimathsetup{math-style=ISO, partial=upright, nabla=upright} -\setmathfont{Asana-Math.otf} -\IfFontExistsTF{Neo Euler}{% -\setmathfont[range={up/{Latin,latin,Greek,greek}, - bfup/{Latin,latin,Greek,greek}, - cal, bfcal, frak, bffrak, - `(,`),`[,`],`\{,`\},`:,`=,\ne,\equiv,`/,\backslash, - \in,\notin,\ni,\subset,\supset,\subseteq,\supseteq, - \rightarrow,\leftarrow,\mapsto,\hookrightarrow,\hookleftarrow, - \sum,\prod,\coprod, - \sqrt,\int,\iint,\iiint,\oint}, - script-features={}, - sscript-features={}, - Scale = 1.05, - ]{Neo Euler} -}{} -\setmathfont[range={\leq,\geq,\ll,\gg,\lll,\ggg,\leqslant,\geqslant}, - Scale = 0.95, - ]{latinmodern-math.otf} -\setmathfont[range={up/num, bfup/num} - ]{texgyrepagella-math.otf} - -\AtBeginDocument{ -\let\mid@original\mid -\renewcommand{\mid}{\hspace{-.2em}\mid@original\hspace{-.2em}} -\let\nmid@original\nmid -\renewcommand{\nmid}{\hspace{-.2em}\nmid@original\hspace{-.2em}} -\renewcommand{\frac}[2]{\genfrac{}{}{}{}{ - \mathchoice - {\raisebox{-.15em}{$\displaystyle #1$}} - {\raisebox{-.15em}{$\textstyle #1$}} - {\raisebox{-.08em}{$\scriptstyle #1$}} - {\scriptscriptstyle #1} -}{ - \mathchoice - {\raisebox{.08em}{$\displaystyle #2$}} - {\raisebox{.08em}{$\textstyle #2$}} - {\raisebox{.05em}{$\scriptstyle #2$}} - {\scriptscriptstyle #2} -}} -} - -\RequirePackage{tikz-cd} -\newbox\xratbelow -\newbox\xratabove -\renewcommand{\xrightarrow}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [->, baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) -- node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} -\renewcommand{\xleftarrow}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [<-, baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) -- node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} -\renewcommand{\xleftrightarrow}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [<->, baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) -- node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} -\renewcommand{\xhookrightarrow}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) edge[commutative diagrams/hookrightarrow] node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} -\renewcommand{\xhookleftarrow}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) edge[commutative diagrams/hookleftarrow] node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} -\renewcommand{\xmapsto}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) edge[commutative diagrams/mapsto] node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} -\newcommand{\xlongequal}[2][]{% - \setbox\xratbelow=\hbox{\ensuremath{\scriptstyle #1}}% - \setbox\xratabove=\hbox{\ensuremath{\scriptstyle #2}}% - \pgfmathsetlengthmacro{\xratlen}{max(\wd\xratbelow, \wd\xratabove) + .8em}% - \mathrel{\tikz [baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) edge[commutative diagrams/equal] node[below=3pt] {\box\xratbelow} - node[above=2pt] {\box\xratabove} - (\xratlen,0) ;}} - -\AtBeginDocument{ -\renewcommand{\twoheadrightarrow}{% - \mathrel{\tikz [baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) edge[commutative diagrams/twoheadrightarrow] (.8em,0) ;}} - -\renewcommand{\twoheadleftarrow}{% - \mathrel{\tikz [baseline=-.55ex, every node/.style={inner sep=0pt}] - \draw (0,0) edge[commutative diagrams/twoheadleftarrow] (.8em,0) ;}} -} -\fi -\fi - -\if@colorclass@lmodern - \RequirePackage{amssymb} - \if@colorclass@useosf - \RequirePackage{cfr-lm} - \else - \RequirePackage{lmodern} - \fi - \PJLsetlinespacing{\setstretch{1.00}} -\fi - -\if@colorclass@palatino - \RequirePackage{amssymb} - \RequirePackage{mathpazo} - \PassOptionsToPackage{defaultsups}{newpxtext} - \RequirePackage{newpxtext} - % \RequirePackage{newpxmath} - \let\openbox\relax - \PJLsetlinespacing{\setstretch{1.07}} - \if@colorclass@useosf\useosf\fi -\fi - -\if@colorclass@times - \RequirePackage{amssymb} - \PassOptionsToPackage{defaultsups}{newtxtext} - \RequirePackage{newtxtext} - \RequirePackage{newtxmath} - \let\openbox\relax - \PJLsetlinespacing{\setstretch{1.00}} - \if@colorclass@useosf\useosf\fi - \let\colorist@sffamily\relax -\fi - -\if@colorclass@garamond - \RequirePackage{amssymb} - \if@colorclass@useosf\else - \PassOptionsToPackage{lining}{ebgaramond} - \fi - \RequirePackage{ebgaramond-maths} - \RequirePackage{ebgaramond} - % \RequirePackage{garamondlibre} - \PJLsetlinespacing{\setstretch{1.00}} - \let\colorist@sffamily\relax -\fi - -\if@colorclass@noto - \RequirePackage{amssymb} - \if@colorclass@useosf - \PassOptionsToPackage{oldstyle}{notomath} - \fi - \RequirePackage{anyfontsize} - \RequirePackage{notomath} - \PJLsetlinespacing{\setstretch{1.00}} -\fi - -\if@colorclass@biolinum - \RequirePackage{amssymb} - % \RequirePackage{mathpazo} - % \RequirePackage[sansmath]{libertinust1math} - \ifPDFTeX - \if@colorclass@useosf - \PassOptionsToPackage{osf}{biolinum} - \fi - \RequirePackage{biolinum} - \renewcommand*\familydefault{\biolinum@family} - \else - \PassOptionsToPackage{no-math}{fontspec} - \RequirePackage{fontspec} - \setmainfont{LinBiolinum_R.otf}[ - BoldFont = LinBiolinum_RB.otf , - ItalicFont = LinBiolinum_RI.otf , - BoldItalicFont = LinBiolinum_RBO.otf, - \if@colorclass@useosf Numbers = OldStyle\fi ] - \fi - \PJLsetlinespacing{\setstretch{1.05}} - \RequirePackage[italic,defaultmathsizes]{mathastext} -\fi - -\def\PJL@font@alreadyset{} - -\PassOptionsToPackage{verbose=silent}{microtype} -\RequirePackage{microtype} -\PassOptionsToPackage{all}{nowidow} -\RequirePackage{nowidow} -\RequirePackage{embrac} +\WarningFilter { latexfont } { Font~shape } +\WarningFilter { latexfont } { Some~font } + +\cs_new_protected:Nn \__colorclass_load_file_or_config:Nnn + { + \bool_if:NT #1 + { + \exp_args:Nx \file_if_exist:nT { #2 } + { + \exp_args:Nx \file_input:n { #2 } + \use_none:nn + } + } + \use:n { #3 } + } + +\cs_new_protected:Nn \__colorclass_if_font_exist:nnn + { + \bool_if:NTF \l__colorclass_fast_bool + { #3 } + { \fontspec_font_if_exist:nTF { #1 } { #2 } { #3 } } + } + +\__colorclass_load_file_or_config:Nnn \l__colorclass_load_custom_font_file_bool { \l__colorclass_custom_font_file_str } + { + \RequirePackage { projlib-font } + + \bool_if:NF \g_projlib_font_already_set_bool + { + \bool_if:NT \l__colorclass_fast_bool + { + \RequirePackage { mathpazo } + } + + \PassOptionsToPackage { no-math,quiet } { fontspec } + \RequirePackage { fontspec } + + \__colorclass_load_file_or_config:Nnn \l__colorclass_load_custom_font_file_latin_bool { \l__colorclass_custom_font_file_latin_str } + { + \__colorclass_if_font_exist:nnn { Palatino~Linotype } + { + \bool_if:NTF \l__projlib_font_useosf_bool + { + \setmainfont { Palatino~Linotype } [ Numbers = OldStyle ] + } + { + \setmainfont { Palatino~Linotype } + } + } + { + \bool_if:NTF \l__projlib_font_useosf_bool + { + \setmainfont { TeXGyrePagellaX-Regular.otf } + [ + BoldFont = TeXGyrePagellaX-Bold.otf , + ItalicFont = TeXGyrePagellaX-Italic.otf , + BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf , + Numbers = OldStyle , + ] + } + { + \setmainfont { TeXGyrePagellaX-Regular.otf } + [ + BoldFont = TeXGyrePagellaX-Bold.otf , + ItalicFont = TeXGyrePagellaX-Italic.otf , + BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf , + ] + } + } + \setsansfont { SourceSansPro-Regular.otf } + [ + Scale = MatchLowercase , + BoldFont = SourceSansPro-Bold.otf , + ItalicFont = SourceSansPro-RegularIt.otf , + BoldItalicFont = SourceSansPro-BoldIt.otf , + ] + \setmonofont { NewCMMono10-Regular.otf } + [ + Scale = 1.05 , + BoldFont = NewCMMono10-Bold.otf , + ItalicFont = NewCMMono10-Italic.otf , + BoldItalicFont = NewCMMono10-BoldOblique.otf , + ] + + \projlib_language_set_linespacing_latin:n { \setstretch { 1.07 } } + } + } + + \PassOptionsToPackage { fontset = none, scheme = plain } { ctex } + \RequirePackage { ctex } + + \__colorclass_load_file_or_config:Nnn \l__colorclass_load_custom_font_file_cjk_bool { \l__colorclass_custom_font_file_cjk_str } + { + \__colorclass_if_font_exist:nnn { SourceHanSerifSC-Regular } + { + \setCJKmainfont { SourceHanSerifSC-Regular } + [ + BoldFont = SourceHanSerifSC-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSerifSC-Bold , + ] + } + { + \setCJKmainfont { FandolSong-Regular.otf } + [ + BoldFont = FandolSong-Bold.otf , + ItalicFont = FandolKai-Regular.otf , + BoldItalicFont = FandolKai-Regular.otf , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + + \__colorclass_if_font_exist:nnn { SourceHanSansSC-Regular } + { + \setCJKsansfont{SourceHanSansSC-Regular} + [ + BoldFont = SourceHanSansSC-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSansSC-Bold , + ] + } + { + \setCJKsansfont { FandolHei-Regular.otf } + [ + BoldFont = FandolHei-Bold.otf , + ItalicFont = * , + BoldItalicFont = FandolHei-Bold.otf , + ] + } + + \__colorclass_if_font_exist:nnn { SourceHanMonoSC-Regular } + { + \setCJKmonofont { SourceHanMonoSC-Regular } + [ + BoldFont = SourceHanMonoSC-Medium , + ItalicFont = * , + BoldItalicFont = SourceHanMonoSC-Medium , + ] + } + { + \setCJKmonofont { FandolFang-Regular.otf } + [ + BoldFont = * , + BoldFeatures = { FakeBold = 4 } , + ItalicFont = * , + BoldItalicFont = * , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + + \bool_if:NT \g__projlib_language_enabled_schinese_bool + { + \__colorclass_if_font_exist:nnn { SourceHanSerifSC-Regular } + { + \setCJKfamilyfont { SCmain } { SourceHanSerifSC-Regular } + [ + BoldFont = SourceHanSerifSC-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSerifSC-Bold , + ] + } + { + \setCJKfamilyfont { SCmain } { FandolSong-Regular.otf } + [ + BoldFont = FandolSong-Bold.otf , + ItalicFont = FandolKai-Regular.otf , + BoldItalicFont = FandolKai-Regular.otf , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + \__colorclass_if_font_exist:nnn { SourceHanSansSC-Regular } + { + \setCJKfamilyfont { SCsans } { SourceHanSansSC-Regular } + [ + BoldFont = SourceHanSansSC-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSansSC-Bold , + ] + } + { + \setCJKfamilyfont { SCsans } { FandolHei-Regular.otf } + [ + BoldFont = FandolHei-Bold.otf , + ItalicFont = * , + BoldItalicFont = FandolHei-Bold.otf , + ] + } + \__colorclass_if_font_exist:nnn { SourceHanMonoSC-Regular } + { + \setCJKfamilyfont { SCmono } { SourceHanMonoSC-Regular } + [ + BoldFont = SourceHanMonoSC-Medium , + ItalicFont = * , + BoldItalicFont = SourceHanMonoSC-Medium , + ] + } + { + \setCJKfamilyfont { SCmono } { FandolFang-Regular.otf } + [ + BoldFont = * , + BoldFeatures = { FakeBold = 4 } , + ItalicFont = * , + BoldItalicFont = * , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + } + + \bool_if:NT \g__projlib_language_enabled_tchinese_bool + { + \__colorclass_if_font_exist:nnn { SourceHanSerifTC-Regular } + { + \setCJKfamilyfont { TCmain } { SourceHanSerifTC-Regular } + [ + BoldFont = SourceHanSerifTC-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSerifTC-Bold , + ] + } + { + \setCJKfamilyfont { TCmain } { FandolSong-Regular.otf } + [ + BoldFont = FandolSong-Bold.otf , + ItalicFont = FandolKai-Regular.otf , + BoldItalicFont = FandolKai-Regular.otf , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + \__colorclass_if_font_exist:nnn { SourceHanSansTC-Regular } + { + \setCJKfamilyfont { TCsans } { SourceHanSansTC-Regular } + [ + BoldFont = SourceHanSansTC-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSansTC-Bold , + ] + } + { + \setCJKfamilyfont { TCsans } { FandolHei-Regular.otf } + [ + BoldFont = FandolHei-Bold.otf , + ItalicFont = * , + BoldItalicFont = FandolHei-Bold.otf , + ] + } + \__colorclass_if_font_exist:nnn { SourceHanMonoTC-Regular } + { + \setCJKfamilyfont { TCmono } { SourceHanMonoTC-Regular } + [ + BoldFont = SourceHanMonoTC-Medium , + ItalicFont = * , + BoldItalicFont = SourceHanMonoTC-Medium , + ] + } + { + \setCJKfamilyfont { TCmono } { FandolFang-Regular.otf } + [ + BoldFont = * , + BoldFeatures = { FakeBold = 4 } , + ItalicFont = * , + BoldItalicFont = * , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + } + + \bool_if:NT \g__projlib_language_enabled_japanese_bool + { + \__colorclass_if_font_exist:nnn { SourceHanSerif-Regular } + { + \setCJKfamilyfont { JPmain } { SourceHanSerif-Regular } + [ + BoldFont = SourceHanSerif-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSerif-Bold , + ] + } + { + \setCJKfamilyfont { JPmain } { FandolSong-Regular.otf } + [ + BoldFont = FandolSong-Bold.otf , + ItalicFont = FandolKai-Regular.otf , + BoldItalicFont = FandolKai-Regular.otf , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + \__colorclass_if_font_exist:nnn { SourceHanSans-Regular } + { + \setCJKfamilyfont { JPsans } { SourceHanSans-Regular } + [ + BoldFont = SourceHanSans-Bold , + ItalicFont = * , + BoldItalicFont = SourceHanSans-Bold , + ] + } + { + \setCJKfamilyfont { JPsans } { FandolHei-Regular.otf } + [ + BoldFont = FandolHei-Bold.otf , + ItalicFont = * , + BoldItalicFont = FandolHei-Bold.otf , + ] + } + \__colorclass_if_font_exist:nnn { SourceHanMono-Regular } + { + \setCJKfamilyfont { JPmono } { SourceHanMono-Regular } + [ + BoldFont = SourceHanMono-Medium , + ItalicFont = * , + BoldItalicFont = SourceHanMono-Medium , + ] + } + { + \setCJKfamilyfont { JPmono } { FandolFang-Regular.otf } + [ + BoldFont = * , + BoldFeatures = { FakeBold = 4 } , + ItalicFont = * , + BoldItalicFont = * , + BoldItalicFeatures = { FakeBold = 4 } , + ] + } + } + + \cs_new:Nn \colorclass_cjk_sffamily: {} + \cs_new:Nn \colorclass_cjk_ttfamily: {} + + \hook_gput_code:nnn { cmd/sffamily/after } { colorclass } { \colorclass_cjk_sffamily: } + \hook_gput_code:nnn { cmd/ttfamily/after } { colorclass } { \colorclass_cjk_ttfamily: } + + \AddLanguageSetting [schinese] + { + \cs_set:Nn \colorclass_cjk_sffamily: { \CJKfamily { SCsans } } + \cs_set:Nn \colorclass_cjk_ttfamily: { \CJKfamily { SCmono } } + \CJKfamily { SCmain } + } + \AddLanguageSetting [tchinese] + { + \cs_set:Nn \colorclass_cjk_sffamily: { \CJKfamily { TCsans } } + \cs_set:Nn \colorclass_cjk_ttfamily: { \CJKfamily { TCmono } } + \CJKfamily { TCmain } + } + \AddLanguageSetting [japanese] + { + \cs_set:Nn \colorclass_cjk_sffamily: { \CJKfamily { JPsans } } + \cs_set:Nn \colorclass_cjk_ttfamily: { \CJKfamily { JPmono } } + \CJKfamily { JPmain } + } + } + + \__colorclass_load_file_or_config:Nnn \l__colorclass_load_custom_font_file_math_bool { \l__colorclass_custom_font_file_math_str } + { + \bool_if:NF \g_projlib_font_already_set_bool + { + \bool_if:NTF \l__colorclass_fast_bool + { + \RequirePackage { amssymb } + } + { + \PassOptionsToPackage { warnings-off = { mathtools-colon, mathtools-overbracket } } { unicode-math } + \RequirePackage { unicode-math } + \unimathsetup { math-style = ISO, partial = upright, nabla = upright } + \setmathfont { Asana-Math.otf } + \__colorclass_if_font_exist:nnn { Neo~Euler } + { + \setmathfont { Neo~Euler } + [ + range = { up / { Latin, latin, Greek, greek }, + bfup / { Latin, latin, Greek, greek }, + cal, bfcal, frak, bffrak, + `(, `), `[, `], `\{, `\}, `:, `=, \ne, \equiv, `/, \backslash, + \in, \notin, \ni, \subset, \supset, \subseteq, \supseteq, + \rightarrow, \leftarrow, \leftrightarrow, + \longleftarrow, \longrightarrow, \longleftrightarrow, + \Leftarrow, \Rightarrow, \Leftrightarrow, + \Longleftarrow, \Longrightarrow, \Longleftrightarrow, + \nrightarrow, \nleftarrow, \nleftrightarrow, + \nLeftarrow, \nRightarrow, \nLeftrightarrow, + \mapsto, \hookrightarrow, \hookleftarrow, + \leftharpoonup, \rightharpoonup, \leftharpoondown, \rightharpoondown, + \rightleftharpoons, \leftrightharpoons, + \sum, \prod, \coprod, + \sqrt, \int, \iint, \iiint, \oint + }, + script-features = {}, + sscript-features = {}, + Scale = 1.05, + ] + }{} + \setmathfont { latinmodern-math.otf } + [ + range = { \leq, \geq, \ll, \gg, \lll, \ggg, \leqslant, \geqslant }, + Scale = 0.95, + ] + \setmathfont { texgyrepagella-math.otf } + [ + range = { up / num, bfup / num } + ] + + \hook_gput_code:nnn { begindocument } { colorclass } + { + \NewCommandCopy \colorclass_backup_mid: \mid + \RenewDocumentCommand \mid {} + { \skip_horizontal:n {-.15em} \colorclass_backup_mid: \skip_horizontal:n {-.15em} } + \NewCommandCopy \colorclass_backup_nmid: \nmid + \RenewDocumentCommand \nmid {} + { \skip_horizontal:n {-.15em} \colorclass_backup_nmid: \skip_horizontal:n {-.15em} } + } + + \RequirePackage { tikz-cd } + + \box_new:N \l__colorclass_xarrows_above_box + \box_new:N \l__colorclass_xarrows_below_box + \dim_new:N \l__colorclass_xarrows_length_dim + \cs_new_protected:Nn \colorclass_xarrows_generic:nnnn + % #3 = option of \tikz + % #4 = edge of \draw + { + \hbox_set:Nn \l__colorclass_xarrows_below_box { \ensuremath { \scriptstyle #1 } } + \hbox_set:Nn \l__colorclass_xarrows_above_box { \ensuremath { \scriptstyle #2 } } + \dim_set:Nn \l__colorclass_xarrows_length_dim + { \dim_eval:n { \dim_max:nn { \box_wd:N \l__colorclass_xarrows_below_box } { \box_wd:N \l__colorclass_xarrows_above_box } + .8em } } + \mathrel + { + \tikz [ #3, baseline = -.55ex, every~node/.style = { inner~sep = 0pt } ] + \draw (0,0) #4 + node [ below = 3pt ] { \box_use:N \l__colorclass_xarrows_below_box } + node [ above = 2pt ] { \box_use:N \l__colorclass_xarrows_above_box } + ( \l__colorclass_xarrows_length_dim ,0) ; + } + } + + \RenewDocumentCommand \xrightarrow { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } { -> } { -- } + } + \RenewDocumentCommand \xleftarrow { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } { <- } { -- } + } + \RenewDocumentCommand \xleftrightarrow { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } { <-> } { -- } + } + \RenewDocumentCommand \xhookrightarrow { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } {} { edge [ commutative~diagrams/hookrightarrow ] } + } + \RenewDocumentCommand \xhookleftarrow { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } {} { edge [ commutative~diagrams/hookleftarrow ] } + } + \RenewDocumentCommand \xmapsto { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } {} { edge [ commutative~diagrams/mapsto ] } + } + \NewDocumentCommand \xlongequal { O{} m } + { + \colorclass_xarrows_generic:nnnn { #1 } { #2 } {} { edge [ commutative~diagrams/equal ] } + } + \hook_gput_code:nnn { begindocument/end } { colorclass } + { + \RenewDocumentCommand \twoheadrightarrow {} + { + \colorclass_xarrows_generic:nnnn { \,\, } {} {} { edge [ commutative~diagrams/twoheadrightarrow ] } + } + \RenewDocumentCommand \twoheadleftarrow {} + { + \colorclass_xarrows_generic:nnnn { \,\, } {} {} { edge [ commutative~diagrams/twoheadleftarrow ] } + } + } + } + } + } + } + +\PassOptionsToPackage { all } { nowidow } +\RequirePackage { nowidow } +\RequirePackage { embrac } %%================================ -%% Graphics +%% Graphics %%================================ -\RequirePackage{graphicx} -\graphicspath{{images/}} -\RequirePackage{wrapfig} -\RequirePackage{float} -\RequirePackage{caption} -\captionsetup{font=small} +\RequirePackage { graphicx } +\graphicspath { { images/ } } +\RequirePackage { wrapfig } +\RequirePackage { float } +\RequirePackage { caption } +\captionsetup { font = small } \endinput %% diff --git a/Master/texmf-dist/tex/latex/minimalist/minimalist-classical.sty b/Master/texmf-dist/tex/latex/minimalist/minimalist-classical.sty index 0e366919ba8..beef4ed8570 100644 --- a/Master/texmf-dist/tex/latex/minimalist/minimalist-classical.sty +++ b/Master/texmf-dist/tex/latex/minimalist/minimalist-classical.sty @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {minimalist-classical} - {2022/03/17} {} + {2022/03/19} {} {The classical style of minimalist} \@ifpackageloaded { minimalist } {} @@ -185,7 +185,7 @@ \renewcommand{\chaptermark}[1]{\markboth{\textsc{#1}}{\textsc{#1}}} \fi \renewcommand*{\sectionmark}[1]{ - \markright{\g_minimalist_section_decoration_char_tl\nobreakspace\arabic{section}\nobreakspace\g_minimalist_section_decoration_char_tl\nobreakspace\nobreakspace\nobreakspace#1}} + \markright{\protect\g_minimalist_section_decoration_char_tl\nobreakspace\arabic{section}\nobreakspace\protect\g_minimalist_section_decoration_char_tl\nobreakspace\nobreakspace\nobreakspace#1}} } { \if@twoside @@ -565,24 +565,50 @@ \RequirePackage { projlib-theorem } +\exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist } + { + name style = { + , heading style = { + , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , italian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , portuguese = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , brazilian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , spanish = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , schinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl + , tchinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl + , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl + , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl + } + } + } + +\SetTheorem { remark } + { + name style = { + , heading style = { + , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , italian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , portuguese = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , brazilian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , spanish = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , schinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl + , tchinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl + , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl + , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl + } + } + } + \bool_if:NF \l__projlib_theorem_complexname_bool { \exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist } { name style = { - , heading style = { - , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , italian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , portuguese = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , brazilian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , spanish = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , schinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl - , tchinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl - , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl - , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl - } , crefname style = { , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc @@ -628,20 +654,6 @@ \SetTheorem { remark } { name style = { - , heading style = { - , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , italian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , portuguese = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , brazilian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , spanish = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , schinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl - , tchinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl - , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl - , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl - } , crefname style = { , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit @@ -656,7 +668,7 @@ , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl } - , crefname style = { + , Crefname style = { , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit diff --git a/Master/texmf-dist/tex/latex/minimalist/minimalist-plain.sty b/Master/texmf-dist/tex/latex/minimalist/minimalist-plain.sty index 2bc3cd69b05..9c7cd650d24 100644 --- a/Master/texmf-dist/tex/latex/minimalist/minimalist-plain.sty +++ b/Master/texmf-dist/tex/latex/minimalist/minimalist-plain.sty @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {minimalist-plain} - {2022/03/17} {} + {2022/03/19} {} {The plain style of minimalist} \@ifpackageloaded { minimalist } {} @@ -115,14 +115,14 @@ { \fancyhf{} \if@twoside - \fancyfoot[RO]{\small\textcolor{main-text!30!paper}{ \l_minimalist_rightmark_tl } - \nobreakspace\nobreakspace\rlap{\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }\nobreakspace\nobreakspace\thepage}} - \fancyfoot[LE]{\small\leavevmode\llap{\thepage - \nobreakspace\nobreakspace\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }} - \nobreakspace\nobreakspace\textcolor{main-text!30!paper}{ \l_minimalist_leftmark_tl }} + \fancyfoot[RO]{\textcolor{main-text!30!paper}{ \small \l_minimalist_rightmark_tl } + \rlap{\nobreakspace\nobreakspace\nobreakspace\nobreakspace\textcolor{main-text!75!paper}{\minimalist_bfseries: \thepage}}} + \fancyfoot[LE]{\leavevmode\llap{\textcolor{main-text!75!paper}{\minimalist_bfseries: \thepage} + \nobreakspace\nobreakspace\nobreakspace\nobreakspace} + \textcolor{main-text!30!paper}{ \l_minimalist_leftmark_tl }} \else - \fancyfoot[R]{\small\textcolor{main-text!30!paper}{ \l_minimalist_rightmark_tl } - \nobreakspace\nobreakspace\rlap{\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }\nobreakspace\nobreakspace\thepage}} + \fancyfoot[R]{\textcolor{main-text!30!paper}{ \l_minimalist_rightmark_tl } + \rlap{\nobreakspace\nobreakspace\nobreakspace\nobreakspace\textcolor{main-text!75!paper}{\minimalist_bfseries: \thepage}}} \fi \renewcommand{\headrulewidth}{0pt} } @@ -132,13 +132,13 @@ { \fancyhf{} \if@twoside - \fancyfoot[RO]{\small - \nobreakspace\rlap{\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }\nobreakspace\nobreakspace\thepage}} - \fancyfoot[LE]{\small\leavevmode\llap{\thepage - \nobreakspace\nobreakspace\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }}} + \fancyfoot[RO]{ + \nobreakspace\rlap{\nobreakspace\nobreakspace\nobreakspace\nobreakspace\textcolor{main-text!75!paper}{\minimalist_bfseries: \thepage}}} + \fancyfoot[LE]{\leavevmode\llap{\textcolor{main-text!75!paper}{\minimalist_bfseries: \thepage} + \nobreakspace\nobreakspace}} \else - \fancyfoot[R]{\small - \nobreakspace\rlap{\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }\nobreakspace\nobreakspace\thepage}} + \fancyfoot[R]{ + \nobreakspace\nobreakspace\nobreakspace\rlap{\textcolor{main-text!75!paper}{\minimalist_bfseries: \thepage}}} \fi \renewcommand{\headrulewidth}{0pt} } @@ -185,7 +185,7 @@ \renewcommand{\chaptermark}[1]{\markboth{\textsc{#1}}{\textsc{#1}}} \fi \renewcommand*{\sectionmark}[1]{ - \markright{\g_minimalist_section_decoration_char_tl\nobreakspace\arabic{section}\nobreakspace\g_minimalist_section_decoration_char_tl\nobreakspace\nobreakspace\nobreakspace#1}} + \markright{\protect\g_minimalist_section_decoration_char_tl\nobreakspace\arabic{section}\nobreakspace\protect\g_minimalist_section_decoration_char_tl\nobreakspace\nobreakspace\nobreakspace#1}} } { \if@twoside @@ -299,7 +299,7 @@ % \phantomsection\addcontentsline{toc}{chapter}{#1} \color{main-text!80!paper}\g_minimalist_title_font_chapter_tl\fontsize{16}{0}\selectfont}{}{0em} {\rlap{\hspace*{-.5em}{\color{main-text!12!paper} - \fontsize{80}{0}\selectfont\normalfont\raisebox{-7pt}{*}}}#1} + \fontsize{80}{0}\selectfont\normalfont\raisebox{-7pt}{\phantom{*}}}}#1} [\ResumeLineNumbers] } { @@ -521,24 +521,50 @@ \RequirePackage { projlib-theorem } +\exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist } + { + name style = { + , heading style = { + , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , italian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , portuguese = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , brazilian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , spanish = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc + , schinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl + , tchinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl + , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl + , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl + } + } + } + +\SetTheorem { remark } + { + name style = { + , heading style = { + , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , italian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , portuguese = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , brazilian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , spanish = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit + , schinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl + , tchinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl + , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl + , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl + } + } + } + \bool_if:NF \l__projlib_theorem_complexname_bool { \exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist } { name style = { - , heading style = { - , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , italian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , portuguese = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , brazilian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , spanish = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc - , schinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl - , tchinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl - , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl - , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl - } , crefname style = { , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textsc @@ -584,20 +610,6 @@ \SetTheorem { remark } { name style = { - , heading style = { - , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , italian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , portuguese = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , brazilian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , spanish = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit - , schinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl - , tchinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl - , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl - , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl - } , crefname style = { , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit @@ -612,7 +624,7 @@ , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl } - , crefname style = { + , Crefname style = { , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl\textit diff --git a/Master/texmf-dist/tex/latex/minimalist/minimalist.sty b/Master/texmf-dist/tex/latex/minimalist/minimalist.sty index 176d5986e0a..50148e29fdb 100644 --- a/Master/texmf-dist/tex/latex/minimalist/minimalist.sty +++ b/Master/texmf-dist/tex/latex/minimalist/minimalist.sty @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {minimalist} - {2022/03/17} {} + {2022/03/19} {} {A simple and clear style for articles and books} \keys_define:nn { minimalist } diff --git a/Master/texmf-dist/tex/latex/minimalist/minimart.cls b/Master/texmf-dist/tex/latex/minimalist/minimart.cls index 4fe51f5c4dc..1340e148534 100644 --- a/Master/texmf-dist/tex/latex/minimalist/minimart.cls +++ b/Master/texmf-dist/tex/latex/minimalist/minimart.cls @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplClass {minimart} - {2022/03/17} {} + {2022/03/19} {} {A simple and clear article style} \tl_const:Nn \l__minimclass_base_class_tl { article } diff --git a/Master/texmf-dist/tex/latex/minimalist/minimbook.cls b/Master/texmf-dist/tex/latex/minimalist/minimbook.cls index f346448d3ad..995334db6cd 100644 --- a/Master/texmf-dist/tex/latex/minimalist/minimbook.cls +++ b/Master/texmf-dist/tex/latex/minimalist/minimbook.cls @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplClass {minimbook} - {2022/03/17} {} + {2022/03/19} {} {A simple and clear book style} \tl_const:Nn \l__minimclass_base_class_tl { book } diff --git a/Master/texmf-dist/tex/latex/projlib/ProjLib.sty b/Master/texmf-dist/tex/latex/projlib/ProjLib.sty index 80741f79a12..4bd5e78f97c 100644 --- a/Master/texmf-dist/tex/latex/projlib/ProjLib.sty +++ b/Master/texmf-dist/tex/latex/projlib/ProjLib.sty @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {ProjLib} - {2022/03/17} {} + {2022/03/19} {} {Collective interface of the ProjLib toolkit} \keys_define:nn { ProjLib } diff --git a/Master/texmf-dist/tex/latex/projlib/projlib-author.sty b/Master/texmf-dist/tex/latex/projlib/projlib-author.sty index b8f389a9270..258950e6914 100644 --- a/Master/texmf-dist/tex/latex/projlib/projlib-author.sty +++ b/Master/texmf-dist/tex/latex/projlib/projlib-author.sty @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {projlib-author} - {2022/03/17} {} + {2022/03/19} {} {Enhanced author information block} \keys_define:nn { projlib-author } @@ -75,7 +75,7 @@ { \hook_gput_code:nnn { cmd/@author/after } { projlib-author } { - \phantom {A} \\[-.85\baselineskip] + \phantom {A} \\[-.9\baselineskip] \bool_if:NF \g__projlib_author_affil_already_exist_bool { \skip_vertical:n { \g__projlib_author_length_innersep_dim } @@ -135,6 +135,8 @@ { \RequirePackage{ projlib-language } + \tl_const:Nn \c_projlib_author_dot_tl { . } + \tl_new:N \g_projlib_author_keywordsname_style_tl \tl_gset:Nn \g_projlib_author_keywordsname_style_tl { \itshape } @@ -165,38 +167,38 @@ \tl_gset:Nn \g__projlib_author_dedicatory_tl { #1 } } - \hook_gput_code:nnn { begindocument/before } { projlib-author } - { - \NewCommandCopy \projlib_author_backup_footnotemark: \footnotemark - \tl_gset:Nn \footnotemark {} + \NewCommandCopy \projlib_author_backup_footnotemark: \footnotemark + \tl_gset:Nn \footnotemark {} - \NewCommandCopy \projlib_author_backup_thanks:w \thanks - \cs_undefine:N \thanks + \NewCommandCopy \projlib_author_backup_thanks:w \thanks + \cs_undefine:N \thanks - % measure the width of "*" - \hbox_set:Nn \l_tmpa_box { * } - \dim_const:Nn \c__projlib_author_length_width_of_asterisk_dim { \box_wd:N \l_tmpa_box } + % measure the width of "*" + \hbox_set:Nn \l_tmpa_box { * } + \dim_const:Nn \c__projlib_author_length_width_of_asterisk_dim { \box_wd:N \l_tmpa_box } - \cs_new_nopar:Nn \projlib_author_pre_thanks:n + \cs_new_nopar:Nn \projlib_author_pre_thanks:n + { + \projlib_author_backup_thanks:w { - \projlib_author_backup_thanks:w - { - \skip_horizontal:n { - \c__projlib_author_length_width_of_asterisk_dim } - #1 - } + \skip_horizontal:n { - \c__projlib_author_length_width_of_asterisk_dim } + #1 } + } - \NewDocumentCommand \thanks { m } + \NewDocumentCommand \thanks { m } + { + \tl_if_blank:nF { #1 } { - \tl_if_blank:nF { #1 } + \hook_gput_code:nnn { cmd/@title/after } { projlib-author } { - \hook_gput_code:nnn { cmd/@title/after } { projlib-author } - { - \projlib_author_pre_thanks:n { #1 } - } + \projlib_author_pre_thanks:n { #1 } } } + } + \hook_gput_code:nnn { begindocument/before } { projlib-author } + { \NewCommandCopy \projlib_author_backup_my_author:w \author \RenewDocumentCommand \author { m } { @@ -205,7 +207,7 @@ \RenewCommandCopy \footnotemark \projlib_author_backup_footnotemark: \RenewCommandCopy \thanks \projlib_author_backup_thanks:w #1 - \cs_undefine:N \footnotemark + \tl_gset:Nn \footnotemark {} } } } @@ -269,7 +271,7 @@ { \group_begin: \g_projlib_author_keywordsname_style_tl - \keywordsname . + \keywordsname \c_projlib_author_dot_tl \group_end: \c_space_tl \g__projlib_author_keywords_tl @@ -315,7 +317,7 @@ } \projlib_author_pre_thanks:n { - \textit{ \l_projlib_author_subjclassname_tl . } + \textit{ \l_projlib_author_subjclassname_tl \c_projlib_author_dot_tl } \enspace \l_projlib_author_subjclass_tl . } diff --git a/Master/texmf-dist/tex/latex/projlib/projlib-datetime.sty b/Master/texmf-dist/tex/latex/projlib/projlib-datetime.sty index 64ba9baf2a0..3e85712d460 100644 --- a/Master/texmf-dist/tex/latex/projlib/projlib-datetime.sty +++ b/Master/texmf-dist/tex/latex/projlib/projlib-datetime.sty @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {projlib-datetime} - {2022/03/17} {} + {2022/03/19} {} {Convert numeric date-time string to natural language} \tl_new:N \g__projlib_datetime_input_format_tl diff --git a/Master/texmf-dist/tex/latex/projlib/projlib-draft.sty b/Master/texmf-dist/tex/latex/projlib/projlib-draft.sty index 02a2d884046..3b6326e46fa 100644 --- a/Master/texmf-dist/tex/latex/projlib/projlib-draft.sty +++ b/Master/texmf-dist/tex/latex/projlib/projlib-draft.sty @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {projlib-draft} - {2022/03/17} {} + {2022/03/19} {} {Useful commands during draft stage} \keys_define:nn { projlib-draft } diff --git a/Master/texmf-dist/tex/latex/projlib/projlib-font.sty b/Master/texmf-dist/tex/latex/projlib/projlib-font.sty index 136873b0462..56484fc9958 100644 --- a/Master/texmf-dist/tex/latex/projlib/projlib-font.sty +++ b/Master/texmf-dist/tex/latex/projlib/projlib-font.sty @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {projlib-font} - {2022/03/17} {} + {2022/03/19} {} {Font selection and configuration} \keys_define:nn { projlib-font } diff --git a/Master/texmf-dist/tex/latex/projlib/projlib-language.sty b/Master/texmf-dist/tex/latex/projlib/projlib-language.sty index 37b73af2598..9f6240b06ab 100644 --- a/Master/texmf-dist/tex/latex/projlib/projlib-language.sty +++ b/Master/texmf-dist/tex/latex/projlib/projlib-language.sty @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {projlib-language} - {2022/03/17} {} + {2022/03/19} {} {Multi-language configuration} \clist_const:Nn \c__projlib_language_supported_clist @@ -282,35 +282,35 @@ \tl_gput_right:Nn \g_projlib_language_settings_schinese_tl { \g_projlib_language_settings_common_tl - \tl_gset:Nn \languagename { schinese } - \tl_gset:cn { abstractname } { 摘要 } - \tl_gset:cn { proofname } { 证明 } - \tl_gset:cn { contentsname } { 目录 } - \tl_gset:cn { listfigurename } { 插图 } - \tl_gset:cn { listtablename } { 表格 } - \tl_gset:cn { figurename } { 图 } - \tl_gset:cn { tablename } { 表 } - \tl_gset:cn { indexname } { 索引 } - \tl_gset:cn { appendixname } { 附录 } - \tl_gset:cn { refname } { 参考文献 } - \tl_gset:cn { bibname } { 参考文献 } + \tl_set:Nn \languagename { schinese } + \tl_set:cn { abstractname } { 摘要 } + \tl_set:cn { proofname } { 证明 } + \tl_set:cn { contentsname } { 目录 } + \tl_set:cn { listfigurename } { 插图 } + \tl_set:cn { listtablename } { 表格 } + \tl_set:cn { figurename } { 图 } + \tl_set:cn { tablename } { 表 } + \tl_set:cn { indexname } { 索引 } + \tl_set:cn { appendixname } { 附录 } + \tl_set:cn { refname } { 参考文献 } + \tl_set:cn { bibname } { 参考文献 } } \tl_gput_right:Nn \g_projlib_language_settings_tchinese_tl { \g_projlib_language_settings_common_tl - \tl_gset:Nn \languagename { tchinese } - \tl_gset:cn { abstractname } { 摘要 } - \tl_gset:cn { proofname } { 證明 } - \tl_gset:cn { contentsname } { 目錄 } - \tl_gset:cn { listfigurename } { 插圖 } - \tl_gset:cn { listtablename } { 表格 } - \tl_gset:cn { figurename } { 圖 } - \tl_gset:cn { tablename } { 表 } - \tl_gset:cn { indexname } { 索引 } - \tl_gset:cn { appendixname } { 附錄 } - \tl_gset:cn { refname } { 參考文獻 } - \tl_gset:cn { bibname } { 參考文獻 } + \tl_set:Nn \languagename { tchinese } + \tl_set:cn { abstractname } { 摘要 } + \tl_set:cn { proofname } { 證明 } + \tl_set:cn { contentsname } { 目錄 } + \tl_set:cn { listfigurename } { 插圖 } + \tl_set:cn { listtablename } { 表格 } + \tl_set:cn { figurename } { 圖 } + \tl_set:cn { tablename } { 表 } + \tl_set:cn { indexname } { 索引 } + \tl_set:cn { appendixname } { 附錄 } + \tl_set:cn { refname } { 參考文獻 } + \tl_set:cn { bibname } { 參考文獻 } } \tl_gput_right:Nn \g_projlib_language_settings_japanese_tl diff --git a/Master/texmf-dist/tex/latex/projlib/projlib-logo.sty b/Master/texmf-dist/tex/latex/projlib/projlib-logo.sty index 2aec50e7db3..b6d568e82fb 100644 --- a/Master/texmf-dist/tex/latex/projlib/projlib-logo.sty +++ b/Master/texmf-dist/tex/latex/projlib/projlib-logo.sty @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {projlib-logo} - {2022/03/17} {} + {2022/03/19} {} {The ProjLib logo} \keys_define:nn { projlib-logo } @@ -42,59 +42,48 @@ \endinput } -\cs_if_exist:cTF { fontspec } - { - \newfontface \__projlib_logo_font: { LinBiolinum_R.otf } - } - { - \RequirePackage [T1] { fontenc } - \cs_gset:Nn \__projlib_logo_font: - { \fontfamily { LinuxBiolinumT-TLF } \selectfont } - } -\tl_new:N \g__projlib_logo_sigma_j_tl -\tl_gset:Nn \g__projlib_logo_sigma_j_tl - { - \vbox:n - { - \offinterlineskip - \hbox_overlap_center:n - { - \skip_horizontal:n { 0.75ex } - \hbox_set:Nn \l_tmpa_box { \usefont{U}{zeur}{b}{n} \symbol{"06} } - \box_rotate:Nn \l_tmpa_box { -10 } - \box_scale:Nnn \l_tmpa_box {.4} {.4} - \box_use:N \l_tmpa_box - } - \skip_vertical:n { 0.15ex } - \hbox:n { \j } - } - } +\RequirePackage { tikz } -\cs_new_protected:Nn \projlib_logo_generic:n +\cs_new_protected:Nn \projlib_logo_generic: { - \group_begin: - \normalfont - \__projlib_logo_font: - \color_group_begin: - \color_select:n { blue!60!cyan } { P } - \color_select:n { blue!45!cyan } { r } - \color_select:n { blue!30!cyan } { o } - \color_select:n { green!70!black!70 } { #1 } - \color_select:n { red!20!yellow } { L } - \color_select:n { red!40!yellow } { i } - \color_select:n { red!60!yellow } { b } - \color_group_end: - \group_end: + \skip_horizontal:n { .2em } + \begin{tikzpicture}[line~width=.1em, baseline=0] + \begin{scope}[color=blue!50!cyan!30!black] + \draw (0.22em,.5em) circle (.22em); + \draw (0em,0em) -- (0em,.5em); + \end{scope} + \begin{scope}[color=blue!50!cyan!40!black, xshift=.65em] + \draw (0em,0em) -- (0em,.25em) arc [start~angle=180, end~angle=90, radius=.2em]; + \end{scope} + \begin{scope}[color=blue!50!cyan!45!black, xshift=1.0em] + \draw (0.2em,.24em) circle (.2em); + \end{scope} + \begin{scope}[color=blue!50!cyan!50!black, xshift=1.65em] + \draw (0em,-.25em) -- (0em,.5em); + \begin{scope}[yshift=.75em] + % \draw[line~width=.032em, color=orange!60!yellow, xshift=.01em, yshift=-.003em] (0,0) circle (.13em); + % \node[rotate=-15,scale=0.45, xshift=.033em] { \usefont{U}{zeur}{b}{n} \symbol{"02} }; + \draw[line~width=.06em, color=orange!60!yellow] (0,0) circle (.13em); + \end{scope} + \end{scope} + \begin{scope}[color=blue!50!cyan!67!black, xshift=2.0em] + \draw (0em,0em) -- (0em,.75em); + \end{scope} + \begin{scope}[color=blue!50!cyan!75!black, xshift=2.35em] + \draw (0em,0em) -- (0em,.5em); + \end{scope} + \begin{scope}[color=blue!50!cyan!90!black, xshift=2.63em] + \draw (0.2em,.24em) circle (.2em); + \draw (0em,0.24em) -- (0em,.75em); + \end{scope} + \end{tikzpicture} + \skip_horizontal:n { .2em } } \DeclareRobustCommand * \ProjLib { - \projlib_logo_generic:n { \g__projlib_logo_sigma_j_tl } - } -\DeclareRobustCommand * \ProjLibText - { - \projlib_logo_generic:n { j } + \projlib_logo_generic: } \endinput diff --git a/Master/texmf-dist/tex/latex/projlib/projlib-math.sty b/Master/texmf-dist/tex/latex/projlib/projlib-math.sty index b3b333c0cac..f7fa7b81deb 100644 --- a/Master/texmf-dist/tex/latex/projlib/projlib-math.sty +++ b/Master/texmf-dist/tex/latex/projlib/projlib-math.sty @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {projlib-math} - {2022/03/17} {} + {2022/03/19} {} {Efficient math setup} \keys_define:nn { projlib-math } diff --git a/Master/texmf-dist/tex/latex/projlib/projlib-paper.sty b/Master/texmf-dist/tex/latex/projlib/projlib-paper.sty index 240426477b0..7824b07c5b0 100644 --- a/Master/texmf-dist/tex/latex/projlib/projlib-paper.sty +++ b/Master/texmf-dist/tex/latex/projlib/projlib-paper.sty @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {projlib-paper} - {2022/03/17} {} + {2022/03/19} {} {Configuration of the paper style} \keys_define:nn { projlib-paper } diff --git a/Master/texmf-dist/tex/latex/projlib/projlib-theorem.sty b/Master/texmf-dist/tex/latex/projlib/projlib-theorem.sty index 8ef33efffcd..ebcfe1108a5 100644 --- a/Master/texmf-dist/tex/latex/projlib/projlib-theorem.sty +++ b/Master/texmf-dist/tex/latex/projlib/projlib-theorem.sty @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplPackage {projlib-theorem} - {2022/03/17} {} + {2022/03/19} {} {Configuration of theorem-like environments} \keys_define:nn { projlib-theorem } @@ -42,6 +42,13 @@ , theorem numbering .default:n = { * } , thmnum .tl_set:N = \l__projlib_theorem_theorem_numbering_tl , thmnum .default:n = { * } + , theorem-style .tl_set:N = \l__projlib_theorem_theorem_style_tl + , theorem-style .initial:n = { } + , theorem-style .value_required:n = true + , theorem~style .tl_set:N = \l__projlib_theorem_theorem_style_tl + , theorem~style .value_required:n = true + , theorem style .tl_set:N = \l__projlib_theorem_theorem_style_tl + , theorem style .value_required:n = true , complex-name .bool_set:N = \l__projlib_theorem_complexname_bool , complex-name .initial:n = { true } , complex~name .bool_set:N = \l__projlib_theorem_complexname_bool @@ -105,6 +112,17 @@ \RequirePackage { projlib-language } +\cs_new_protected:Nn \projlib_theorem_preset_theorem_style:nn + { + \tl_const:cn { c_crthm_theorem_style_preset_ #1 _tl } { #2 } + } + +\cs_generate_variant:Nn \keyval_parse:nnn { nno } +\keyval_parse:nno + { } + { \projlib_theorem_preset_theorem_style:nn } + { \l__projlib_theorem_theorem_style_tl } + \RequirePackage { amsthm } \RequirePackage { create-theorem } diff --git a/Master/texmf-dist/tex/latex/simplivre/simplivre.cls b/Master/texmf-dist/tex/latex/simplivre/simplivre.cls index 7cac20b9ae2..ad95aba1e00 100644 --- a/Master/texmf-dist/tex/latex/simplivre/simplivre.cls +++ b/Master/texmf-dist/tex/latex/simplivre/simplivre.cls @@ -19,7 +19,7 @@ \RequirePackage{l3keys2e} \ProvidesExplClass {simplivre} - {2022/03/17} {} + {2022/03/19} {} {A simple and clear book style} \tl_const:Nn \l__minimclass_base_class_tl { book } -- cgit v1.2.3