diff options
Diffstat (limited to 'macros/latex/contrib')
20 files changed, 298 insertions, 242 deletions
diff --git a/macros/latex/contrib/colorist/DEPENDS.txt b/macros/latex/contrib/colorist/DEPENDS.txt new file mode 100644 index 0000000000..21f065cd4f --- /dev/null +++ b/macros/latex/contrib/colorist/DEPENDS.txt @@ -0,0 +1 @@ +hard projlib
\ No newline at end of file diff --git a/macros/latex/contrib/colorist/README.md b/macros/latex/contrib/colorist/README.md index fbfd1cd0be..8e281b3e90 100644 --- a/macros/latex/contrib/colorist/README.md +++ b/macros/latex/contrib/colorist/README.md @@ -2,16 +2,18 @@ # `colorist` bundle: write you documents in a colorful way -<!-- **The whole series have been rewritten with `expl3`. Please note that the documentations are not yet up-to-date. The syntax of some commands have been changed since the last version, especially the declaration of theorem-like environments by `\CreateTheorem`. For the moment, you can refer to the documentation of the package `create-theorem`.** --> +> **New documentations are being written and are expected to be completed by the end of 2023. In the meantime, only the core code would be included in TeX Live 2023 coming this April (old documentations have been removed from the distribution).** ## Introduction -`colorist` is a collection of styles and classes that helps you typesetting articles and books -with a colorful design. It mainly consists of two parts. +`colorist` is a collection of styles and classes that helps you to typeset articles and books with a colorful design. + +It mainly consists of two parts. - Main part: - `colorist.sty` : interface of the main style - - `colorist-fancy.sty` : the fancy style + - `colorist-fancy.sty` : the style "fancy" + - ... and more styles to come (currently on schedule: "plain", "classical", "modern", "simple", "elegant", "flow", "stream") - `colorart.cls` : class for typesetting articles - `colorbook.cls` : class for typesetting books @@ -24,13 +26,13 @@ with a colorful design. It mainly consists of two parts. - `lebhart.cls` : enhanced version of `colorart` - `beaulivre.cls` : enhanced version of `colorbook` - They are similar to the main classes, but have unicode support, thus can - only be used with either XeLaTeX or LuaLaTeX. Currently they have native + They are similar to the main classes, but have Unicode support, thus can + only be used with either XeLaTeX or LuaLaTeX. Currently, they have native support to Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish typesetting, and also use more beautiful fonts. -<!-- ### How to get these files +### How to get these files You can get the `.sty` and `.cls` files mentioned above simply by compiling `colorist.ins`: ``` @@ -39,19 +41,18 @@ latex colorist.ins To get the `.tex` source files of the documentation, compile `colorist-doc.ins`: ``` latex colorist-doc.ins -``` --> +``` ## Features Compared with usual document classes, it has the following features: -- Native multi-language support: Chinese (simplified and traditional), English, - French, German, Italian, Japanese, Portuguese (European and Brazilian), - Russian and Spanish - > In particular, for simplified Chinese, traditional Chinese and Japanese, - > the fonts of the corresponding glyphs can be automatically switched -- Ready-to-use theorem-like environments, also with multi-language support +- Several carefully designed styles +- Native multi-language support: Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish + > In particular, for simplified Chinese, traditional Chinese and Japanese, the fonts of the corresponding glyphs can be automatically switched +- Ready-to-use theorem-like environments, with clever referencing support - Support both the standard and the AMS writing fashion +- ... and so much more... # License diff --git a/macros/latex/contrib/colorist/colorart.cls b/macros/latex/contrib/colorist/colorart.cls index c361d0847f..041d38111f 100644 --- a/macros/latex/contrib/colorist/colorart.cls +++ b/macros/latex/contrib/colorist/colorart.cls @@ -18,7 +18,7 @@ \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplClass {colorart} - {2023/01/02} {} + {2023/01/05} {} {A colorful article style} \tl_const:Nn \l__colorclass_base_class_tl { article } diff --git a/macros/latex/contrib/colorist/colorbook.cls b/macros/latex/contrib/colorist/colorbook.cls index 2fb2ee3445..f4f8e267b6 100644 --- a/macros/latex/contrib/colorist/colorbook.cls +++ b/macros/latex/contrib/colorist/colorbook.cls @@ -18,7 +18,7 @@ \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplClass {colorbook} - {2023/01/02} {} + {2023/01/05} {} {A colorful book style} \tl_const:Nn \l__colorclass_base_class_tl { book } diff --git a/macros/latex/contrib/colorist/colorist-fancy.sty b/macros/latex/contrib/colorist/colorist-fancy.sty index e5a3dd8a3c..76b7acf3a1 100644 --- a/macros/latex/contrib/colorist/colorist-fancy.sty +++ b/macros/latex/contrib/colorist/colorist-fancy.sty @@ -18,7 +18,7 @@ \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage {colorist-fancy} - {2023/01/02} {} + {2023/01/05} {} {The fancy style of colorist} \IfPackageLoadedTF { colorist } {} @@ -450,19 +450,19 @@ {\hspace*{-2em}} {\titlerule*[10pt]{\parbox{3pt}{\hspace*{-.25pt}\textcolor{main-text!15!paper}{.}}}\color{maintheme}\normalfont\sffamily\contentspage} \titlecontents{section} - [5em] % i.e., 2em (chapter) + 3em + [5.25em] % i.e., 2em (chapter) + 2.75em + 0.5em {\addvspace{.3pc}\normalfont\color{maintheme}\sffamily} {\contentslabel{2.75em}} {\hspace*{-2.75em}} {\titlerule*[10pt]{\parbox{3pt}{\textcolor{main-text!15!paper}{.}}}\color{maintheme}\contentspage} \titlecontents{subsection} - [8.75em] % i.e., 5em (section) + 3.75em + [9.5em] % i.e., 5.25em (section) + 3.5em + 0.75em {\addvspace{.15pc}\normalfont\sffamily} {\contentslabel{3.50em}} {\hspace*{-3.50em}} {\titlerule*[10pt]{\parbox{3pt}{\textcolor{main-text!15!paper}{.}}}\color{main-text!45!paper}\contentspage} \titlecontents{subsubsection} - [12.75em] % i.e., 8.75em (subsection) + 4em + [14em] % i.e., 9.5em (subsection) + 3.75em + 0.75em {\normalfont\sffamily} {\contentslabel{3.75em}} {\hspace*{-3.75em}} @@ -476,16 +476,16 @@ {\hspace*{-1.75em}} {\titlerule*[10pt]{\parbox{3pt}{\textcolor{main-text!15!paper}{.}}}\color{maintheme}\normalfont\sffamily\contentspage} \titlecontents{subsection} - [4.5em] % i.e., 2em (section) + 2.5em + [5em] % i.e., 2em (section) + 2.5em + 0.5em {\addvspace{.15pc}\normalfont\sffamily} - {\contentslabel{2.15em}} - {\hspace*{-2.15em}} + {\contentslabel{2.5em}} + {\hspace*{-2.5em}} {\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 + [9em] % i.e., 5em (subsection) + 3.25em + 0.75em {\normalfont\sffamily} - {\contentslabel{2.75em}} - {\hspace*{-2.75em}} + {\contentslabel{3.25em}} + {\hspace*{-3.25em}} {\titlerule*[10pt]{\parbox{3pt}{\textcolor{main-text!15!paper}{.}}}\color{main-text!45!paper}\contentspage} } diff --git a/macros/latex/contrib/colorist/colorist.sty b/macros/latex/contrib/colorist/colorist.sty index 089a20b458..d85b763893 100644 --- a/macros/latex/contrib/colorist/colorist.sty +++ b/macros/latex/contrib/colorist/colorist.sty @@ -18,7 +18,7 @@ \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage {colorist} - {2023/01/02} {} + {2023/01/05} {} {A colorful style for articles and books} \keys_define:nn { colorist } diff --git a/macros/latex/contrib/minimalist/DEPENDS.txt b/macros/latex/contrib/minimalist/DEPENDS.txt new file mode 100644 index 0000000000..21f065cd4f --- /dev/null +++ b/macros/latex/contrib/minimalist/DEPENDS.txt @@ -0,0 +1 @@ +hard projlib
\ No newline at end of file diff --git a/macros/latex/contrib/minimalist/README.md b/macros/latex/contrib/minimalist/README.md index 3c4ecee278..a86486ba21 100644 --- a/macros/latex/contrib/minimalist/README.md +++ b/macros/latex/contrib/minimalist/README.md @@ -1,24 +1,26 @@ -<!-- Copyright (C) 2021-2022 by Jinwen XU --> +<!-- Copyright (C) 2021-2023 by Jinwen XU --> # `minimalist` bundle: write you documents in a simple and clear way -<!-- -**The whole series have been rewritten with `expl3`. Please note that the documentations are not yet up-to-date. The syntax of some commands have been changed since the last version, especially the declaration of theorem-like environments by `\CreateTheorem`. For the moment, you can refer to the documentation of the package `create-theorem`.** --> + +> **New documentations are being written and are expected to be completed by the end of 2023. In the meantime, only the core code would be included in TeX Live 2023 coming this April (old documentations have been removed from the distribution).** ## Introduction -`minimalist` is a collection of styles and classes that helps you typesetting articles and books -with a simple and clear design. It mainly consists of two parts. +`minimalist` is a collection of styles and classes that helps you to typeset articles and books with a simple and clear design. + +It mainly consists of two parts. - Main part: - `minimalist.sty` : interface of the main style - - `minimalist-plain.sty` : the plain style - - `minimalist-classical.sty` : the classical style - - `minimalist-stream.sty` : the stream style - - `minimalist-flow.sty` : the flow style + - `minimalist-plain.sty` : the style "plain" + - `minimalist-classical.sty` : the style "classical" + - `minimalist-flow.sty` : the style "flow" + - `minimalist-stream.sty` : the style "stream" + - ... and more styles to come (currently on schedule: "modern") - `minimart.cls` : class for typesetting articles - `minimbook.cls` : class for typesetting books - They can be used with any major TeX engine. Currently they have native + They can be used with any major TeX engine. Currently, they have native support to English, French, German, Italian, Portuguese (European and Brazilian) and Spanish typesetting. @@ -27,13 +29,13 @@ with a simple and clear design. It mainly consists of two parts. - `einfart.cls` : more advanced class for typesetting articles - `simplivre.cls` : more advanced class for typesetting books - They are similar to the main classes, but have unicode support, thus can - only be used with either XeLaTeX or LuaLaTeX. Currently they have native + They are similar to the main classes, but have Unicode support, thus can + only be used with either XeLaTeX or LuaLaTeX. Currently, they have native support to Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish typesetting, and also use more beautiful fonts. -<!-- ### How to get these files +### How to get these files You can get the `.sty` and `.cls` files mentioned above simply by compiling `minimalist.ins`: ``` @@ -43,19 +45,18 @@ To get the `.tex` source files of the documentation, compile `minimalist-doc.ins`: ``` latex minimalist-doc.ins -``` --> +``` ## Features Compared with usual document classes, it has the following features: -- Native multi-language support: Chinese (simplified and traditional), English, - French, German, Italian, Japanese, Portuguese (European and Brazilian), - Russian and Spanish - > In particular, for simplified Chinese, traditional Chinese and Japanese, - > the fonts of the corresponding glyphs can be automatically switched -- Ready-to-use theorem-like environments, also with multi-language support +- Several carefully designed styles +- Native multi-language support: Chinese (simplified and traditional), English, French, German, Italian, Japanese, Portuguese (European and Brazilian), Russian and Spanish + > In particular, for simplified Chinese, traditional Chinese and Japanese, the fonts of the corresponding glyphs can be automatically switched +- Ready-to-use theorem-like environments, with clever referencing support - Support both the standard and the AMS writing fashion +- ... and so much more... # License diff --git a/macros/latex/contrib/minimalist/minimalist-classical.sty b/macros/latex/contrib/minimalist/minimalist-classical.sty index 513c8e7f55..0ea75181ce 100644 --- a/macros/latex/contrib/minimalist/minimalist-classical.sty +++ b/macros/latex/contrib/minimalist/minimalist-classical.sty @@ -2,7 +2,7 @@ %% This is file `minimalist/minimalist-classical.sty', %% generated with the docstrip utility. %% -%% Copyright (C) 2021-2022 by Jinwen XU +%% Copyright (C) 2021-2023 by Jinwen XU %% %% This is part of the minimalist class series. %% @@ -18,8 +18,8 @@ \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage {minimalist-classical} - {2023/01/02} {} - {The classical style of minimalist} + {2023/01/05} {} + {The "classical" style of minimalist} \IfPackageLoadedTF { minimalist } {} { @@ -318,6 +318,7 @@ \renewcommand{\partstring}{第 \nobreakspace\thepart\nobreakspace 部} } + \bool_if:NTF \l__minimalist_is_book_bool { \setcounter{secnumdepth}{3} @@ -478,6 +479,7 @@ \titlespacing{\subsubsection}{0pt}{.5\baselineskip plus .2\baselineskip minus .1\baselineskip}{.3\baselineskip plus .2\baselineskip minus .1\baselineskip} } + %%================================ %% ToC format %%================================ @@ -521,8 +523,8 @@ \titlecontents{section} [2em] % i.e., 0em (part) + 2em {\normalfont} - {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{1.75em}} - {\hspace*{-1.75em}} + {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{1.5em}} + {\hspace*{-1.5em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{subsection} [4.75em] % i.e., 2em (section) + 2.75em @@ -761,10 +763,14 @@ heading_suffix "}\n" } } + + \RequirePackage { projlib-theorem } \SetTheorem { proof, proof* } { qed-symbol = { \customqedsymbol } } + + \exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name } { name style = { diff --git a/macros/latex/contrib/minimalist/minimalist-flow.sty b/macros/latex/contrib/minimalist/minimalist-flow.sty index f85b6c15c4..acc236efe5 100644 --- a/macros/latex/contrib/minimalist/minimalist-flow.sty +++ b/macros/latex/contrib/minimalist/minimalist-flow.sty @@ -2,7 +2,7 @@ %% This is file `minimalist/minimalist-flow.sty', %% generated with the docstrip utility. %% -%% Copyright (C) 2021-2022 by Jinwen XU +%% Copyright (C) 2021-2023 by Jinwen XU %% %% This is part of the minimalist class series. %% @@ -18,8 +18,8 @@ \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage {minimalist-flow} - {2023/01/02} {} - {The flow style of minimalist} + {2023/01/05} {} + {The "flow" style of minimalist} \IfPackageLoadedTF { minimalist } {} { @@ -78,13 +78,7 @@ \tl_gset:Nn \g_minimalist_title_font_chapter_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \minimalist_scshape: } \tl_gset:Nn \g_minimalist_title_font_section_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \minimalist_scshape: } \tl_gset:Nn \g_minimalist_title_font_subsection_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \minimalist_scshape: } -% \bool_if:NTF \l__minimalist_runin_bool -% { - \tl_gset:Nn \g_minimalist_title_font_subsubsection_tl { \itshape \g_minimalist_title_font_common_tl } -% } -% { -% \tl_gset:Nn \g_minimalist_title_font_subsubsection_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl } -% } +\tl_gset:Nn \g_minimalist_title_font_subsubsection_tl { \itshape \g_minimalist_title_font_common_tl } \tl_gset:Nn \g_minimalist_title_font_paragraph_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \minimalist_scshape: } \bool_if:NF \l__minimalist_fast_bool @@ -96,18 +90,6 @@ \RequirePackage { tikzpagenodes } % For `current page text area` } -\bool_if:NTF \l__minimalist_fast_bool - { - \tl_const:Nn \l_minimalist_sep_bar { $|$ } - } - { - \tl_const:Nn \l_minimalist_sep_bar - { - \skip_horizontal:n { .1em } - \tikz[baseline=.125em] \draw[line~width=.9pt] (0,0) -- (0,.9em); - \skip_horizontal:n { .1em } - } - } %%================================ %% Footer @@ -289,7 +271,6 @@ { \tl_set:Nx \l_tmpa_tl { #1 } \regex_replace_all:nnN { (\w) } { \c{minimalist_original_bfseries:}{\1} } \l_tmpa_tl - % \regex_replace_all:nnN { (\d) } { {\c{usefont}{U}{zeur}{b}{n}\1} } \l_tmpa_tl \regex_replace_all:nnN { (\d) } { {\c{minimalist_title_numbering_apply_font:n}{\1}} } \l_tmpa_tl \textcolor { .!39!paper } { \normalfont \l_tmpa_tl } } @@ -299,7 +280,6 @@ \group_begin: \tl_set:Nx \l_tmpa_tl { #1 } \regex_replace_all:nnN { (\w) } { \c{minimalist_original_bfseries:}{\1} } \l_tmpa_tl - % \regex_replace_all:nnN { (\d) } { {\c{usefont}{U}{zeur}{b}{n}\1} } \l_tmpa_tl \regex_replace_all:nnN { (\d) } { {\c{minimalist_title_numbering_apply_font:n}{\1}} } \l_tmpa_tl \exp_args:Nnx \regex_count:nnN { \. } {#1} \l_tmpa_int \int_case:nn { \l_tmpa_int } @@ -332,6 +312,7 @@ \renewcommand{\partstring}{第 \nobreakspace\thepart\nobreakspace 部} } + \bool_if:NTF \l__minimalist_is_book_bool { \setcounter{secnumdepth}{3} @@ -488,6 +469,7 @@ \titlespacing{\subsubsection}{0pt}{.5\baselineskip plus .2\baselineskip minus .1\baselineskip}{.3\baselineskip plus .2\baselineskip minus .1\baselineskip} } + %%================================ %% ToC format %%================================ @@ -509,19 +491,19 @@ {\hspace*{-2em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{section} - [5em] % i.e., 2em (chapter) + 3em + [5.75em] % i.e., 2em (chapter) + 2.75em + 1em {\normalfont} {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2.75em}} {\hspace*{-2.75em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{subsection} - [9em] % i.e., 5em (section) + 4em + [10.5em] % i.e., 5.75em (section) + 3.75em + 1em {\normalfont} {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.75em}} {\hspace*{-3.75em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{subsubsection} - [13.5em] % i.e., 9em (subsection) + 4.5em + [15.75em] % i.e., 10.5em (subsection) + 4.25em + 1em {\normalfont} {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{4.25em}} {\hspace*{-4.25em}} @@ -531,20 +513,20 @@ \titlecontents{section} [2em] % i.e., 0em (part) + 2em {\normalfont} - {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{1.75em}} - {\hspace*{-1.75em}} + {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{1.5em}} + {\hspace*{-1.5em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{subsection} - [5em] % i.e., 2em (section) + 3em + [5em] % i.e., 2em (section) + 2.5em + 0.5em {\normalfont} - {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2.75em}} - {\hspace*{-2.75em}} + {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2.5em}} + {\hspace*{-2.5em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{subsubsection} - [9em] % i.e., 5em (subsection) + 4em + [9.5em] % i.e., 5em (subsection) + 3.5em + 1em {\normalfont} - {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.75em}} - {\hspace*{-3.75em}} + {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.5em}} + {\hspace*{-3.5em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} } @@ -764,6 +746,8 @@ heading_suffix "}\n" } } + + \RequirePackage { projlib-theorem } \SetTheorem { proof, proof* } { qed-symbol = { \customqedsymbol } } diff --git a/macros/latex/contrib/minimalist/minimalist-plain.sty b/macros/latex/contrib/minimalist/minimalist-plain.sty index 705118b378..ed4d399512 100644 --- a/macros/latex/contrib/minimalist/minimalist-plain.sty +++ b/macros/latex/contrib/minimalist/minimalist-plain.sty @@ -2,7 +2,7 @@ %% This is file `minimalist/minimalist-plain.sty', %% generated with the docstrip utility. %% -%% Copyright (C) 2021-2022 by Jinwen XU +%% Copyright (C) 2021-2023 by Jinwen XU %% %% This is part of the minimalist class series. %% @@ -18,8 +18,8 @@ \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage {minimalist-plain} - {2023/01/02} {} - {The plain style of minimalist} + {2023/01/05} {} + {The "plain" style of minimalist} \IfPackageLoadedTF { minimalist } {} { @@ -90,18 +90,6 @@ \RequirePackage { tikzpagenodes } % For `current page text area` } -\bool_if:NTF \l__minimalist_fast_bool - { - \tl_const:Nn \l_minimalist_sep_bar { $|$ } - } - { - \tl_const:Nn \l_minimalist_sep_bar - { - \skip_horizontal:n { .1em } - \tikz[baseline=.125em] \draw[line~width=.9pt] (0,0) -- (0,.9em); - \skip_horizontal:n { .1em } - } - } %%================================ %% Footer @@ -284,7 +272,7 @@ \tl_set:Nx \l_tmpa_tl { #1 } \regex_replace_all:nnN { (\w) } { \c{minimalist_original_bfseries:}{\1} } \l_tmpa_tl \regex_replace_all:nnN { (\d) } { {\c{minimalist_title_numbering_apply_font:n}{\1}} } \l_tmpa_tl - \textcolor { main-text!39!paper } { \normalfont \l_tmpa_tl } + \textcolor { .!39!paper } { \normalfont \l_tmpa_tl } } \cs_new_protected:Nn \minimalist_apply_title_numbering_style:n @@ -296,10 +284,10 @@ \exp_args:Nnx \regex_count:nnN { \. } {#1} \l_tmpa_int \int_case:nn { \l_tmpa_int } { - { 0 } { \textcolor { main-text!24!paper } } - { 1 } { \textcolor { main-text!39!paper } } - { 2 } { \textcolor { main-text!39!paper } } - { 3 } { \smaller[2] \textcolor { main-text!24!paper } } + { 0 } { \textcolor { .!24!paper } } + { 1 } { \textcolor { .!39!paper } } + { 2 } { \textcolor { .!39!paper } } + { 3 } { \smaller[2] \textcolor { .!24!paper } } } \l_tmpa_tl \group_end: @@ -324,6 +312,7 @@ \renewcommand{\partstring}{第 \nobreakspace\thepart\nobreakspace 部} } + \bool_if:NTF \l__minimalist_is_book_bool { \setcounter{secnumdepth}{3} @@ -469,6 +458,7 @@ \titlespacing{\subsubsection}{0pt}{.5\baselineskip plus .2\baselineskip minus .1\baselineskip}{.3\baselineskip plus .2\baselineskip minus .1\baselineskip} } + %%================================ %% ToC format %%================================ @@ -490,19 +480,19 @@ {\hspace*{-2em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{section} - [5em] % i.e., 2em (chapter) + 3em + [5.75em] % i.e., 2em (chapter) + 2.75em + 1em {\normalfont} {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2.75em}} {\hspace*{-2.75em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{subsection} - [9em] % i.e., 5em (section) + 4em + [10.5em] % i.e., 5.75em (section) + 3.75em + 1em {\normalfont} {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.75em}} {\hspace*{-3.75em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{subsubsection} - [13.5em] % i.e., 9em (subsection) + 4.5em + [15.75em] % i.e., 10.5em (subsection) + 4.25em + 1em {\normalfont} {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{4.25em}} {\hspace*{-4.25em}} @@ -512,20 +502,20 @@ \titlecontents{section} [2em] % i.e., 0em (part) + 2em {\normalfont} - {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{1.75em}} - {\hspace*{-1.75em}} + {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{1.5em}} + {\hspace*{-1.5em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{subsection} - [5em] % i.e., 2em (section) + 3em + [5em] % i.e., 2em (section) + 2.5em + 0.5em {\normalfont} - {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2.75em}} - {\hspace*{-2.75em}} + {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2.5em}} + {\hspace*{-2.5em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{subsubsection} - [9em] % i.e., 5em (subsection) + 4em + [9.5em] % i.e., 5em (subsection) + 3.5em + 1em {\normalfont} - {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.75em}} - {\hspace*{-3.75em}} + {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.5em}} + {\hspace*{-3.5em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} } @@ -745,10 +735,14 @@ heading_suffix "}\n" } } + + \RequirePackage { projlib-theorem } \SetTheorem { proof, proof* } { qed-symbol = { \customqedsymbol } } + + \exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name } { name style = { diff --git a/macros/latex/contrib/minimalist/minimalist-stream.sty b/macros/latex/contrib/minimalist/minimalist-stream.sty index 9dbf900f89..e9e94eda46 100644 --- a/macros/latex/contrib/minimalist/minimalist-stream.sty +++ b/macros/latex/contrib/minimalist/minimalist-stream.sty @@ -2,7 +2,7 @@ %% This is file `minimalist/minimalist-stream.sty', %% generated with the docstrip utility. %% -%% Copyright (C) 2021-2022 by Jinwen XU +%% Copyright (C) 2021-2023 by Jinwen XU %% %% This is part of the minimalist class series. %% @@ -18,8 +18,8 @@ \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage {minimalist-stream} - {2023/01/02} {} - {The stream style of minimalist} + {2023/01/05} {} + {The "stream" style of minimalist} \IfPackageLoadedTF { minimalist } {} { @@ -90,6 +90,7 @@ \RequirePackage { tikzpagenodes } % For `current page text area` } + %%================================ %% Footer %%================================ @@ -261,8 +262,6 @@ %% Title format %%================================ \RequirePackage [ explicit, newparttoc ] { titlesec } -% \renewcommand{\bottomtitlespace}{.1\textheight} -% \RequirePackage { needspace } \PassOptionsToPackage { normalem } { ulem } \RequirePackage { ulem } @@ -272,9 +271,8 @@ { \tl_set:Nx \l_tmpa_tl { #1 } \regex_replace_all:nnN { (\w) } { \c{minimalist_original_bfseries:}{\1} } \l_tmpa_tl - % \regex_replace_all:nnN { (\d) } { {\c{usefont}{U}{zeur}{b}{n}\1} } \l_tmpa_tl \regex_replace_all:nnN { (\d) } { {\c{minimalist_title_numbering_apply_font:n}{\1}} } \l_tmpa_tl - \textcolor { main-text!39!paper } { \normalfont \l_tmpa_tl } + \textcolor { .!39!paper } { \normalfont \l_tmpa_tl } } \cs_new_protected:Nn \minimalist_apply_title_numbering_style:n @@ -282,15 +280,14 @@ \group_begin: \tl_set:Nx \l_tmpa_tl { #1 } \regex_replace_all:nnN { (\w) } { \c{minimalist_original_bfseries:}{\1} } \l_tmpa_tl - % \regex_replace_all:nnN { (\d) } { {\c{usefont}{U}{zeur}{b}{n}\1} } \l_tmpa_tl \regex_replace_all:nnN { (\d) } { {\c{minimalist_title_numbering_apply_font:n}{\1}} } \l_tmpa_tl \exp_args:Nnx \regex_count:nnN { \. } {#1} \l_tmpa_int \int_case:nn { \l_tmpa_int } { - { 0 } { \textcolor { main-text!39!paper } } - { 1 } { \textcolor { main-text!39!paper } } - { 2 } { \textcolor { main-text!39!paper } } - { 3 } { \smaller[2] \textcolor { main-text!24!paper } } + { 0 } { \textcolor { .!39!paper } } + { 1 } { \textcolor { .!39!paper } } + { 2 } { \textcolor { .!39!paper } } + { 3 } { \smaller[2] \textcolor { .!24!paper } } } \l_tmpa_tl \group_end: @@ -315,7 +312,6 @@ \renewcommand{\partstring}{第 \nobreakspace\thepart\nobreakspace 部} } - \dim_new:N \l_minimalist_title_sep_dim \dim_set:Nn \l_minimalist_title_sep_dim { 1em } @@ -490,11 +486,6 @@ \titlespacing{\subsection}{0pt}{.6\baselineskip plus .2\baselineskip minus .1\baselineskip}{0pt} \titlespacing{\subsubsection}{0pt}{.5\baselineskip plus .1\baselineskip minus .1\baselineskip}{0pt} -\hook_gput_code:nnn { package/bookmark/after } { minimalist } - { - \tl_gset:NV \toclevel@sectionsub \toclevel@subsection - } - %% \sectionsub \titleclass{\sectionsub}{straight}[\section] \newcounter{sectionsub} @@ -526,6 +517,11 @@ \titlespacing{\sectionsub}{0pt}{.8\baselineskip plus .4\baselineskip minus .2\baselineskip}{.6\baselineskip plus .2\baselineskip minus .1\baselineskip} +\hook_gput_code:nnn { package/bookmark/after } { minimalist } + { + \tl_gset:NV \toclevel@sectionsub \toclevel@subsection + } + %%================================ %% ToC format %%================================ @@ -547,28 +543,28 @@ {\hspace*{-2em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{section} - [5em] % i.e., 2em (chapter) + 3em + [5.75em] % i.e., 2em (chapter) + 2.75em + 1em {\normalfont} - {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2.5em}} - {\hspace*{-2.5em}} + {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2.75em}} + {\hspace*{-2.75em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{sectionsub} - [9em] % i.e., 5em (section) + 4em + [10.5em] % i.e., 5.75em (section) + 3.75em + 1em {\normalfont} - {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.5em}} - {\hspace*{-3.5em}} + {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.75em}} + {\hspace*{-3.75em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{subsection} - [9em] % i.e., 5em (section) + 4em + [10.5em] % i.e., 5.75em (section) + 3.75em + 1em {\normalfont} - {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.5em}} - {\hspace*{-3.5em}} + {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.75em}} + {\hspace*{-3.75em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{subsubsection} - [13.5em] % i.e., 9em (subsection) + 4.5em + [15.75em] % i.e., 10.5em (subsection) + 4.25em + 1em {\normalfont} - {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{4.0em}} - {\hspace*{-4.0em}} + {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{4.25em}} + {\hspace*{-4.25em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} } { @@ -579,13 +575,13 @@ {\hspace*{-1.5em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{subsection} - [5em] % i.e., 2em (section) + 3em + [5em] % i.e., 2em (section) + 2.5em + 0.5em {\normalfont} {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2.5em}} {\hspace*{-2.5em}} {\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage} \titlecontents{subsubsection} - [9em] % i.e., 5em (subsection) + 4em + [9.5em] % i.e., 5em (subsection) + 3.5em + 1em {\normalfont} {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.5em}} {\hspace*{-3.5em}} @@ -817,13 +813,6 @@ heading_suffix "}\n" . \hspace{.5em} } -% \RequirePackage { regexpatch } -% \xpatchcmd{\proof}{\topsep6\p@\@plus6\p@\relax}{\topsep3\p@\@plus3\p@\relax}{}{} - -\newcommand{\customqedsymbol}{ - \makebox[1em]{\color{.!27!paper}\rule[-0.1em]{.95em}{.95em}}} -\let\qedsymbol\customqedsymbol - \def\simpleqedsymbol{ \makebox[1em]{\rlap{\textcolor{main-text!12!paper}{\rule[-0.1em]{.95em}{.95em}}}{\kern.07em\raisebox{.07em}{\textcolor{paper}{\rule[-0.1em]{.81em}{.81em}}}\kern.07em}}} \DeclareRobustCommand{\simpleqed}{% @@ -836,6 +825,10 @@ heading_suffix "}\n" \def\@endtheorem{\popQED\endtrivlist\@endpefalse} +\newcommand{\customqedsymbol}{ + \makebox[1em]{\color{.!27!paper}\rule[-0.1em]{.95em}{.95em}}} +\let\qedsymbol\customqedsymbol + \bool_if:NTF \l__minimalist_fast_bool { \RequirePackage { hyperref } @@ -856,12 +849,14 @@ heading_suffix "}\n" } } + \PassOptionsToPackage { theorem-style = { remark = simple-inline, proof = proof } } { projlib-theorem } \RequirePackage { projlib-theorem } \SetTheorem { proof, proof* } { qed-symbol = { \customqedsymbol } } + \exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name, proof } { shared counter = subsection } \exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name } diff --git a/macros/latex/contrib/minimalist/minimalist.sty b/macros/latex/contrib/minimalist/minimalist.sty index dbc9de5a03..0266993cec 100644 --- a/macros/latex/contrib/minimalist/minimalist.sty +++ b/macros/latex/contrib/minimalist/minimalist.sty @@ -2,7 +2,7 @@ %% This is file `minimalist/minimalist.sty', %% generated with the docstrip utility. %% -%% Copyright (C) 2021-2022 by Jinwen XU +%% Copyright (C) 2021-2023 by Jinwen XU %% %% This is part of the minimalist class series. %% @@ -18,7 +18,7 @@ \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplPackage {minimalist} - {2023/01/02} {} + {2023/01/05} {} {A simple and clear style for articles and books} \keys_define:nn { minimalist } diff --git a/macros/latex/contrib/minimalist/minimart.cls b/macros/latex/contrib/minimalist/minimart.cls index 7d2debb6bf..14681ba41d 100644 --- a/macros/latex/contrib/minimalist/minimart.cls +++ b/macros/latex/contrib/minimalist/minimart.cls @@ -2,7 +2,7 @@ %% This is file `minimalist/minimart.cls', %% generated with the docstrip utility. %% -%% Copyright (C) 2021-2022 by Jinwen XU +%% Copyright (C) 2021-2023 by Jinwen XU %% %% This is part of the minimalist class series. %% @@ -18,7 +18,7 @@ \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplClass {minimart} - {2023/01/02} {} + {2023/01/05} {} {A simple and clear article style} \tl_const:Nn \l__minimclass_base_class_tl { article } diff --git a/macros/latex/contrib/minimalist/minimbook.cls b/macros/latex/contrib/minimalist/minimbook.cls index be112f4f52..63d84a04a0 100644 --- a/macros/latex/contrib/minimalist/minimbook.cls +++ b/macros/latex/contrib/minimalist/minimbook.cls @@ -2,7 +2,7 @@ %% This is file `minimalist/minimbook.cls', %% generated with the docstrip utility. %% -%% Copyright (C) 2021-2022 by Jinwen XU +%% Copyright (C) 2021-2023 by Jinwen XU %% %% This is part of the minimalist class series. %% @@ -18,7 +18,7 @@ \NeedsTeXFormat{LaTeX2e}[2022-06-01] \ProvidesExplClass {minimbook} - {2023/01/02} {} + {2023/01/05} {} {A simple and clear book style} \tl_const:Nn \l__minimclass_base_class_tl { book } diff --git a/macros/latex/contrib/mismath/mismath.dtx b/macros/latex/contrib/mismath/mismath.dtx index 2f64b37985..7571aa54c4 100644 --- a/macros/latex/contrib/mismath/mismath.dtx +++ b/macros/latex/contrib/mismath/mismath.dtx @@ -20,7 +20,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{mismath} - [2022/12/26 v2.1 .dtx mismath file] + [2023/01/06 v2.2 .dtx mismath file] %</package> %<*driver> \documentclass{ltxdoc} @@ -29,10 +29,15 @@ %\usepackage{textcomp} \usepackage[english]{babel} \usepackage[charter]{mathdesign} % in case of font change, modify 2.1 (3rd §) -\usepackage{mismath} +\usepackage[ibrackets]{mismath} %\usepackage{amssymb} incompatible with mathdesign \usepackage{multicol} \usepackage[Euler]{upgreek} +\usepackage{sectsty} +\usepackage{xcolor} + +\definecolor{darkbrown}{rgb}{0.5,0.1,0.1} +\allsectionsfont{\color{darkbrown}} %\enumber % commented because I need italicized e in vectors section \inumber \pinumber[piup] @@ -63,7 +68,7 @@ %</driver> % \fi % -%% \CheckSum{454} +%% \CheckSum{459} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -151,13 +156,17 @@ % - a small change in norm command -> bars in small size % - several changes in documentation} % +% \changes{v2.2}{2023/01/06}{ +% - Loading of ibrackets package is now optional, due to an error +% when using DeclarePairedDelimiter with square brackets.} +% % \GetFileInfo{mismath.sty} % % \title{\textsf{mismath}\\ Miscellaneous mathematical macros\thanks{This document % corresponds to \textsf{mismath}~\fileversion, dated \filedate. % Thanks to François Bastouil for help in English translation.}} % \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}} -% \date{December 26, 2022} +% \date{January 6, 2023} % % \maketitle % \tableofcontents @@ -699,15 +708,18 @@ % \[ \lbar{Z} = \lfrac{\lbar{z_1-z_2}}{\lbar{z_1+z_2}} \] % \end{minipage} % -% \DescribeMacro{brackets} +% \DescribeMacro{[ibrackets]} % Open intervals are usually represented with parenthesis, e.g.\@ $(0, +\infty)$, % but sometimes we find also -% brackets, for example in French mathematics. +% square brackets, for example in French mathematics. % In that case the space around them is often unsuitable, % e.g.\@ $x \in \mathclose{]} 0, +\infty[$. % % We have redefine brackets in the \textsf{ibrackets} package~\cite{BRACKET} -% which is loaded by \textsf{mismath}. +% which can be optionally\footnote{This functionality is optional because it causes +% error when using a command defined by \texttt{\bslash DeclarePairedDelimiter}~\cite{TOOL} +% with square brackets.} +% loaded by \textsf{mismath}. % Simply type |$x\in ]-\pi,0[ \cup ]2\pi,3\pi[$| to get % \begin{align*} % x\in ]-\pi, 0[ \cup ]2\pi, 3\pi[ &\mbox{\quad with \textsf{ibrackets}}, \\ @@ -721,9 +733,9 @@ % it is always possible to transform them % into delimiters with |\left| and |\right|. % -% With \textsf{ibrackets}: a bracket become an ordinary character +% With \textsf{ibrackets}: a bracket becomes an ordinary character % but an open delimiter when it is immediately followed by a + or - character. -% Thus, when the left boundary contains an operator sign, +% Thus, when the left bound contains an operator sign, % \emph{you don't have to leave a space between the first bracket and the sign}, % otherwise, the spaces surrounding the operator will be too large: % e.g.\@ |$x \in ] -\infty, 0]$| yields $x \in ] -\infty, 0]$. @@ -733,10 +745,11 @@ % e.g.\@ |$[a, b] + [c, d]$| yields $[a, b] + [c, d]$ % but |$[a, b]+ [c, d]$| yields $[a, b]+ [c, d]$. % -% Let us also mention other approaches e.g.\@ |\DeclarePairedDelimiters|, a macro from -% the \textsf{mathtools} package~\cite{TOOL}, or -% the \textsf{interval} package~\cite{INT} with his -% |\interval| macro. Nevertheless our solution is lighter. +% Let us also mention other approaches with the |\interval| macro +% from the \textsf{interval} package~\cite{INT}, +% or |\DeclarePairedDelimiters| from the \textsf{mathtool} package~\cite{TOOL} +% (but the latter is incompatible with \textsf{ibrackets} +% for brackets management). % % \subsection{Environments for systems of equations and small matrices} % @@ -868,14 +881,16 @@ % \section{Implementation} % % \begin{macrocode} +\RequirePackage{ifthen} +\newboolean{ibrackets} +\DeclareOption{ibrackets}{\setboolean{ibrackets}{true}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{amsmath}} \ProcessOptions \relax \@ifpackageloaded{amsmath}{}{\RequirePackage{amsmath}} \@ifpackageloaded{esvect}{}{\RequirePackage[b]{esvect}} -\RequirePackage{ifthen} \RequirePackage{xspace} \RequirePackage{mathtools} -\RequirePackage{ibrackets} +\ifthenelse{\boolean{ibrackets}}{\RequirePackage{ibrackets}}{} % \end{macrocode} % The above conditional packages loading avoids ``option clash'' errors if the packages diff --git a/macros/latex/contrib/mismath/mismath.pdf b/macros/latex/contrib/mismath/mismath.pdf Binary files differindex 85e97af3c0..0e8f3a9dda 100644 --- a/macros/latex/contrib/mismath/mismath.pdf +++ b/macros/latex/contrib/mismath/mismath.pdf diff --git a/macros/latex/contrib/projlib/DEPENDS.txt b/macros/latex/contrib/projlib/DEPENDS.txt new file mode 100644 index 0000000000..b8ee3af57f --- /dev/null +++ b/macros/latex/contrib/projlib/DEPENDS.txt @@ -0,0 +1 @@ +hard create-theorem
\ No newline at end of file diff --git a/macros/latex/contrib/projlib/ProjLib.dtx b/macros/latex/contrib/projlib/ProjLib.dtx index 4b9f8d3aec..6123adab0c 100644 --- a/macros/latex/contrib/projlib/ProjLib.dtx +++ b/macros/latex/contrib/projlib/ProjLib.dtx @@ -19,84 +19,84 @@ %<*ProjLib> \ProvidesExplPackage {ProjLib} - {2023/01/03} {} + {2023/01/05} {} {Collective interface of the ProjLib toolkit} %</ProjLib> % %<*projlib-author> \ProvidesExplPackage {projlib-author} - {2023/01/03} {} + {2023/01/05} {} {Enhanced author information block} %</projlib-author> % %<*projlib-datetime> \ProvidesExplPackage {projlib-datetime} - {2023/01/03} {} + {2023/01/05} {} {Convert numeric date-time string to natural language} %</projlib-datetime> % %<*projlib-draft> \ProvidesExplPackage {projlib-draft} - {2023/01/03} {} + {2023/01/05} {} {Useful commands during draft stage} %</projlib-draft> % %<*projlib-font> \ProvidesExplPackage {projlib-font} - {2023/01/03} {} + {2023/01/05} {} {Font selection and configuration} %</projlib-font> % %<*projlib-language> \ProvidesExplPackage {projlib-language} - {2023/01/03} {} + {2023/01/05} {} {Multi-language configuration} %</projlib-language> % %<*projlib-logo> \ProvidesExplPackage {projlib-logo} - {2023/01/03} {} + {2023/01/05} {} {The ProjLib logo} %</projlib-logo> % %<*projlib-math> \ProvidesExplPackage {projlib-math} - {2023/01/03} {} + {2023/01/05} {} {Efficient math setup} %</projlib-math> % %<*projlib-paper> \ProvidesExplPackage {projlib-paper} - {2023/01/03} {} + {2023/01/05} {} {Configuration of the paper style} %</projlib-paper> % %<*projlib-text> \ProvidesExplPackage {projlib-text} - {2023/01/03} {} + {2023/01/05} {} {Text-related commands} %</projlib-text> % %<*projlib-theorem> \ProvidesExplPackage {projlib-theorem} - {2023/01/03} {} + {2023/01/05} {} {Configuration of theorem-like environments} %</projlib-theorem> % %<*projlib-titlepage> \ProvidesExplPackage {projlib-titlepage} - {2023/01/03} {} + {2023/01/05} {} {Commands for rendering the title page} %</projlib-titlepage> @@ -556,8 +556,10 @@ \NewDocumentCommand \ProjLibSetDatetimeInputFormat { m } { - \projlib_datetime_set_input_format:n { #1 } + \tl_set:Nn \l_tmpa_tl { \exp_args:Ne \tl_trim_spaces:n { #1 } } + \exp_args:Ne \projlib_datetime_set_input_format:n { \l_tmpa_tl } } +\ProvideDocumentCommand \SetDatetimeInputFormat {} { \ProjLibSetDatetimeInputFormat } \seq_new:N \l__projlib_datetime_date_seq @@ -694,7 +696,7 @@ \regex_match:nnTF { \A \d{1,2}-\d{1,2}-\d{4} \Z } { #1 } { \seq_set_split:Nnn \l__projlib_datetime_date_seq { - } { #1 } - \cs_if_exist_use:c { projlib_datetime_display_month_day_year #2 _ \languagename :nnn } + \cs_if_exist_use:c { projlib_datetime_display_year_month_day #2 _ \languagename :nnn } { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 3 } } } % year { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 1 } } } % month { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 2 } } } % day @@ -739,7 +741,7 @@ \regex_match:nnTF { \A \d{1,2}-\d{1,2}-\d{4} \Z } { #1 } { \seq_set_split:Nnn \l__projlib_datetime_date_seq { - } { #1 } - \cs_if_exist_use:c { projlib_datetime_display_day_month_year #2 _ \languagename :nnn } + \cs_if_exist_use:c { projlib_datetime_display_year_month_day #2 _ \languagename :nnn } { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 3 } } } % year { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 2 } } } % month { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 1 } } } % day @@ -783,6 +785,7 @@ } } } +\cs_generate_variant:Nn \__projlib_datetime_date_parse_year_month_day:n { e } \cs_new_protected:Nn \__projlib_datetime_date_parse_month_day_year:n { @@ -800,6 +803,7 @@ } } } +\cs_generate_variant:Nn \__projlib_datetime_date_parse_month_day_year:n { e } \cs_new_protected:Nn \__projlib_datetime_date_parse_day_month_year:n { @@ -817,6 +821,7 @@ } } } +\cs_generate_variant:Nn \__projlib_datetime_date_parse_day_month_year:n { e } \cs_new:Nn \__projlib_datetime_input_format_to_str: { @@ -830,7 +835,9 @@ \cs_new_protected:Nn \__projlib_datetime_display_date_according_to_format:nn { - \cs_if_exist_use:c { __projlib_datetime_date_parse_ \__projlib_datetime_input_format_to_str: :n } { #1 } + \tl_set:Nx \l_tmpa_tl { #1 } + \regex_replace_all:nnN { \D } { - } \l_tmpa_tl + \cs_if_exist_use:c { __projlib_datetime_date_parse_ \__projlib_datetime_input_format_to_str: :e } { \l_tmpa_tl } \str_case_e:nnF { \l__projlib_datetime_output_format_tl } { { only-year-month } @@ -973,7 +980,9 @@ \cs_new_protected:Nn \projlib_datetime_calculate_week_according_to_format:n { - \cs_if_exist_use:c { __projlib_datetime_date_parse_ \__projlib_datetime_input_format_to_str: :n } { #1 } + \tl_set:Nx \l_tmpa_tl { #1 } + \regex_replace_all:nnN { \D } { - } \l_tmpa_tl + \cs_if_exist_use:c { __projlib_datetime_date_parse_ \__projlib_datetime_input_format_to_str: :e } { \l_tmpa_tl } \__projlib_datetime_calculate_day_of_week_with_year_month_day:nnn { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 1 } } } { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 2 } } } @@ -3168,27 +3177,49 @@ } \msg_new:nnn { projlib-language } - { language-not-support } + { language-not-supported } { The~language~"#1"~is~not~supported. } +\msg_new:nnn { projlib-language } + { language-not-enabled } + { The~language~"#1"~is~not~enabled. } \cs_new:Nn \projlib_language_use_language_locally:nn { - \cs_if_exist_use:cF { projlib_language_apply_settings_locally_ \projlib_language_str_to_languagename:n { #1 } :n } + \cs_if_exist:cTF { projlib_language_apply_settings_locally_ \projlib_language_str_to_languagename:n { #1 } :n } { - \msg_warning:nnn { projlib-language } { language-not-support } { #1 } + \bool_if:cTF { g__projlib_language_enabled_ \projlib_language_str_to_languagename:n { #1 } _bool } + { + \use:c { projlib_language_apply_settings_locally_ \projlib_language_str_to_languagename:n { #1 } :n } { #2 } + } + { + \msg_warning:nnn { projlib-language } { language-not-enabled } { #1 } + #2 + } + } + { + \msg_warning:nnn { projlib-language } { language-not-supported } { #1 } + #2 } - { #2 } } \cs_generate_variant:Nn \projlib_language_use_language_locally:nn { e } \cs_new:Nn \projlib_language_use_language:n { - \cs_if_exist_use:cF { projlib_language_apply_settings_globally_ \projlib_language_str_to_languagename:n { #1 } : } + \cs_if_exist:cTF { projlib_language_apply_settings_globally_ \projlib_language_str_to_languagename:n { #1 } : } + { + \bool_if:cTF { g__projlib_language_enabled_ \projlib_language_str_to_languagename:n { #1 } _bool } + { + \use:c { projlib_language_apply_settings_globally_ \projlib_language_str_to_languagename:n { #1 } : } + \cs_if_exist_use:c { g_projlib_language_linespacing_ \projlib_language_str_to_languagetype:n { #1 } _tl } + \cs_if_exist_use:c { g_projlib_language_parindent_ \projlib_language_str_to_languagetype:n { #1 } _tl } + } + { + \msg_warning:nnn { projlib-language } { language-not-enabled } { #1 } + } + } { - \msg_warning:nnn { projlib-language } { language-not-support } { #1 } + \msg_warning:nnn { projlib-language } { language-not-supported } { #1 } } - \cs_if_exist_use:c { g_projlib_language_linespacing_ \projlib_language_str_to_languagetype:n { #1 } _tl } - \cs_if_exist_use:c { g_projlib_language_parindent_ \projlib_language_str_to_languagetype:n { #1 } _tl } } \cs_generate_variant:Nn \projlib_language_use_language:n { e } @@ -3768,43 +3799,50 @@ %<*projlib-theorem> \keys_define:nn { projlib-theorem } { - , no-theorems .bool_set:N = \l__projlib_theorem_no_theorems_bool - , no-theorems .initial:n = { false } - , no~theorems .bool_set:N = \l__projlib_theorem_no_theorems_bool - , no theorems .bool_set:N = \l__projlib_theorem_no_theorems_bool - , nothms .bool_set:N = \l__projlib_theorem_no_theorems_bool - , no-theorem-numbering .bool_set:N = \l__projlib_theorem_no_theorem_numbering_bool - , no-theorem-numbering .initial:n = { false } - , no~theorem~numbering .bool_set:N = \l__projlib_theorem_no_theorem_numbering_bool - , no theorem numbering .bool_set:N = \l__projlib_theorem_no_theorem_numbering_bool - , nothmnum .bool_set:N = \l__projlib_theorem_no_theorem_numbering_bool - , theorem-numbering .tl_set:N = \l__projlib_theorem_theorem_numbering_tl - , theorem-numbering .default:n = { * } - , theorem~numbering .tl_set:N = \l__projlib_theorem_theorem_numbering_tl - , theorem~numbering .default:n = { * } - , theorem numbering .tl_set:N = \l__projlib_theorem_theorem_numbering_tl - , 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 - , complex name .bool_set:N = \l__projlib_theorem_complexname_bool - , simple-name .bool_set_inverse:N = \l__projlib_theorem_complexname_bool - , simple~name .bool_set_inverse:N = \l__projlib_theorem_complexname_bool - , simple name .bool_set_inverse:N = \l__projlib_theorem_complexname_bool - , no-preset-names .bool_set_inverse:N = \l__projlib_theorem_presetname_bool - , no-preset-names .initial:n = { false } - , no~preset~names .bool_set_inverse:N = \l__projlib_theorem_presetname_bool - , no preset names .bool_set_inverse:N = \l__projlib_theorem_presetname_bool - , unknown .code:n = { \PassOptionsToPackage { \CurrentOption } { create-theorem } } + , no-theorems .bool_set:N = \l__projlib_theorem_no_theorems_bool + , no-theorems .initial:n = { false } + , no~theorems .bool_set:N = \l__projlib_theorem_no_theorems_bool + , no theorems .bool_set:N = \l__projlib_theorem_no_theorems_bool + , nothms .bool_set:N = \l__projlib_theorem_no_theorems_bool + , no-theorem-numbering .bool_set:N = \l__projlib_theorem_no_theorem_numbering_bool + , no-theorem-numbering .initial:n = { false } + , no~theorem~numbering .bool_set:N = \l__projlib_theorem_no_theorem_numbering_bool + , no theorem numbering .bool_set:N = \l__projlib_theorem_no_theorem_numbering_bool + , nothmnum .bool_set:N = \l__projlib_theorem_no_theorem_numbering_bool + , theorem-numbering .tl_set:N = \l__projlib_theorem_theorem_numbering_tl + , theorem-numbering .default:n = { * } + , theorem~numbering .tl_set:N = \l__projlib_theorem_theorem_numbering_tl + , theorem~numbering .default:n = { * } + , theorem numbering .tl_set:N = \l__projlib_theorem_theorem_numbering_tl + , theorem numbering .default:n = { * } + , thmnum .tl_set:N = \l__projlib_theorem_theorem_numbering_tl + , thmnum .default:n = { * } + , separate-theorem-numbering .bool_set:N = \l__projlib_theorem_separate_theorem_numbering_bool + , separate-theorem-numbering .initial:n = { false } + , separate~theorem~numbering .bool_set:N = \l__projlib_theorem_separate_theorem_numbering_bool + , separate theorem numbering .bool_set:N = \l__projlib_theorem_separate_theorem_numbering_bool + , number-theorems-separately .bool_set:N = \l__projlib_theorem_separate_theorem_numbering_bool + , number~theorems~separately .bool_set:N = \l__projlib_theorem_separate_theorem_numbering_bool + , number theorems separately .bool_set:N = \l__projlib_theorem_separate_theorem_numbering_bool + , 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 + , complex name .bool_set:N = \l__projlib_theorem_complexname_bool + , simple-name .bool_set_inverse:N = \l__projlib_theorem_complexname_bool + , simple~name .bool_set_inverse:N = \l__projlib_theorem_complexname_bool + , simple name .bool_set_inverse:N = \l__projlib_theorem_complexname_bool + , no-preset-names .bool_set_inverse:N = \l__projlib_theorem_presetname_bool + , no-preset-names .initial:n = { false } + , no~preset~names .bool_set_inverse:N = \l__projlib_theorem_presetname_bool + , no preset names .bool_set_inverse:N = \l__projlib_theorem_presetname_bool + , unknown .code:n = { \PassOptionsToPackage { \CurrentOption } { create-theorem } } } \ProcessKeyOptions [ projlib-theorem ] @@ -3917,22 +3955,41 @@ \cs_if_exist:cTF { c@chapter } { % with \chapter \CreateTheorem { theorem } { parent counter = chapter, create starred version } + \bool_if:NT \l__projlib_theorem_separate_theorem_numbering_bool + { + \exp_args:Nv \CreateTheorem { c_projlib_theorem_supported_clist } { parent counter = chapter, create starred version } + } } { % without \chapter \CreateTheorem { theorem } { parent counter = section, create starred version } + \bool_if:NT \l__projlib_theorem_separate_theorem_numbering_bool + { + \exp_args:Nv \CreateTheorem { c_projlib_theorem_supported_clist } { parent counter = section, create starred version } + } } } { \tl_if_eq:NnTF \l__projlib_theorem_theorem_numbering_tl { * } { \CreateTheorem { theorem } { create starred version } + \bool_if:NT \l__projlib_theorem_separate_theorem_numbering_bool + { + \exp_args:Nv \CreateTheorem { c_projlib_theorem_supported_clist } { create starred version } + } } { \CreateTheorem { theorem } { parent counter = \l__projlib_theorem_theorem_numbering_tl, create starred version } + \bool_if:NT \l__projlib_theorem_separate_theorem_numbering_bool + { + \exp_args:Nv \CreateTheorem { c_projlib_theorem_supported_clist } { parent counter = \l__projlib_theorem_theorem_numbering_tl, create starred version } + } } } - \exp_args:Nv \CreateTheorem { c_projlib_theorem_supported_clist } { shared counter = theorem, create starred version, quiet } + \bool_if:NF \l__projlib_theorem_separate_theorem_numbering_bool + { + \exp_args:Nv \CreateTheorem { c_projlib_theorem_supported_clist } { shared counter = theorem, create starred version, quiet } + } } } diff --git a/macros/latex/contrib/projlib/README.md b/macros/latex/contrib/projlib/README.md index 1caa674c2f..c7b786b84a 100644 --- a/macros/latex/contrib/projlib/README.md +++ b/macros/latex/contrib/projlib/README.md @@ -4,7 +4,7 @@ # The `ProjLib` Toolkit -> **This bundle is dated 2023/01/03.** +> **This bundle is dated 2023/01/05.** > **New documentations are being written and are expected to be completed by the end of 2023. In the meantime, only the core code would be included in TeX Live 2023 coming this April (old documentations have been removed from the distribution).** |