summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/projlib
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-03-10 21:24:58 +0000
committerKarl Berry <karl@freefriends.org>2022-03-10 21:24:58 +0000
commitc99fbd6f5717513c4b6b7e37ad3a3d676e08b49c (patch)
tree24f4c5f8bb91c9a93b4937909ee8cad3199aec44 /Master/texmf-dist/doc/latex/projlib
parent356136ce175be2673f9fec40d48937ae6d494605 (diff)
projlib (10mar22)
git-svn-id: svn://tug.org/texlive/trunk@62600 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/projlib')
-rw-r--r--Master/texmf-dist/doc/latex/projlib/README.md11
-rw-r--r--Master/texmf-dist/doc/latex/projlib/new-modules/projlib-author.sty312
-rw-r--r--Master/texmf-dist/doc/latex/projlib/new-modules/projlib-datetime.sty1645
-rw-r--r--Master/texmf-dist/doc/latex/projlib/new-modules/projlib-draft.sty140
-rw-r--r--Master/texmf-dist/doc/latex/projlib/new-modules/projlib-font.sty137
-rw-r--r--Master/texmf-dist/doc/latex/projlib/new-modules/projlib-language.sty508
-rw-r--r--Master/texmf-dist/doc/latex/projlib/new-modules/projlib-logo.sty100
-rw-r--r--Master/texmf-dist/doc/latex/projlib/new-modules/projlib-math.sty234
-rw-r--r--Master/texmf-dist/doc/latex/projlib/new-modules/projlib-paper.sty108
9 files changed, 8 insertions, 3187 deletions
diff --git a/Master/texmf-dist/doc/latex/projlib/README.md b/Master/texmf-dist/doc/latex/projlib/README.md
index 91c7d4dcfe0..3b5a6fbcf87 100644
--- a/Master/texmf-dist/doc/latex/projlib/README.md
+++ b/Master/texmf-dist/doc/latex/projlib/README.md
@@ -2,15 +2,17 @@
# ProjLib Toolkit
-The bundle is dated 2022/02/27
+The bundle is dated 2022/03/09
Old modules are still dated 2021/12/16 and will *not* be modified. When all the new modules are finished, old files shall be removed from this bundle.
## **Important note**
-The whole project is being rewritten with `expl3`. New modules have the name with prefix "projlib-", and they are in many ways better and more powerful than their predecessors. Some basically finished new modules are included in the bundle but are not yet documented. Most importantly, they are not compatible with the old modules, so they cannot appear at the same time in the same document, which, unfortunately, means that (for now) they cannot be used in classes like `einfart` or `lebhart`, etc.
+The whole project is being rewritten with `expl3`. The new modules are basically finished but are not yet documented. They have the names with prefix "projlib-", and they are in many ways better and more powerful than their predecessors. Most importantly, they are not compatible with the old modules, so they cannot appear at the same time in the same document, which, unfortunately, means that (for now) they cannot be used in classes like `einfart` or `lebhart`, etc.
-The newly added modules include:
+The current `ProjLib.sty` is the new `expl3` version, the old one has been renamed to `PJLtoolkit.sty`.
+
+The new modules are:
- projlib-author
- projlib-datetime
- projlib-draft
@@ -19,9 +21,12 @@ The newly added modules include:
- projlib-logo
- projlib-math
- projlib-paper
+- projlib-theorem
When all these modules are finished, the documentation will be updated accordingly.
+Below are the old README.
+
---
> **ProjLib** can be interpreted as "***Proj**ect **Lib**rary*" (in English), or as "***Proj**et **Lib**re*" (in French).
diff --git a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-author.sty b/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-author.sty
deleted file mode 100644
index ef0906d249f..00000000000
--- a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-author.sty
+++ /dev/null
@@ -1,312 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
-\ProvidesExplPackage
- {projlib-author}
- {2022/02/24} {}
- {Enhanced author information block}
-
-\keys_define:nn { projlib-author }
- {
- , amsfashion .bool_set:N = \l__projlib_author_amsfashion_bool
- , amsfashion .initial:n = { false }
- , ams-fashion .bool_set:N = \l__projlib_author_amsfashion_bool
- , unknown .code:n = {}
- }
-\ProcessKeysOptions { projlib-author }
-
-\cs_if_exist:NT \subjclass { \endinput }
-
-\tl_new:N \g__projlib_author_font_author_tl
-\tl_new:N \g__projlib_author_font_address_tl
-\tl_new:N \g__projlib_author_font_curraddr_tl
-\tl_new:N \g__projlib_author_font_email_tl
-
-\tl_gset:Nn \g__projlib_author_font_author_tl { \normalsize \normalfont \scshape }
-\tl_gset:Nn \g__projlib_author_font_address_tl { \small \normalfont \itshape }
-\tl_gset:Nn \g__projlib_author_font_curraddr_tl { \small \normalfont \itshape }
-\tl_gset:Nn \g__projlib_author_font_email_tl { \small \normalfont \ttfamily }
-
-\dim_new:N \g__projlib_author_length_innersep_dim
-\dim_new:N \g__projlib_author_length_sep_dim
-\dim_new:N \g__projlib_author_length_aftersep_dim
-
-\dim_set:Nn \g__projlib_author_length_innersep_dim { 0.3 \baselineskip }
-\dim_set:Nn \g__projlib_author_length_sep_dim { 0.5 \baselineskip }
-\dim_set:Nn \g__projlib_author_length_aftersep_dim { 0.3 \baselineskip }
-
-
-\bool_new:N \g__projlib_author_affil_already_exist_bool
-
-\NewCommandCopy \projlib_author_backup_author:w \author
-\RenewDocumentCommand \author { m }
- {
- \hook_gput_code:nnn { cmd/@author/after } { projlib-author }
- {
- \phantom {A} \\[-\baselineskip]
- \skip_vertical:n { \g__projlib_author_length_sep_dim }
- { \g__projlib_author_font_author_tl #1 }
- \bool_set_false:N \g__projlib_author_affil_already_exist_bool
- \\ \phantom {}
- }
- }
-
-\ProvideDocumentCommand \address { m }
- {
- \hook_gput_code:nnn { cmd/@author/after } { projlib-author }
- {
- \phantom {A} \\[-\baselineskip]
- \bool_if:NF \g__projlib_author_affil_already_exist_bool
- {
- \skip_vertical:n { \g__projlib_author_length_innersep_dim }
- }
- \bool_set_true:N \g__projlib_author_affil_already_exist_bool
- { \g__projlib_author_font_address_tl #1 }
- \\ \phantom {}
- }
- }
-
-\ProvideDocumentCommand \curraddr { m }
- {
- \hook_gput_code:nnn { cmd/@author/after } { projlib-author }
- {
- \phantom {A} \\[-\baselineskip]
- \bool_if:NF \g__projlib_author_affil_already_exist_bool
- {
- \skip_vertical:n { \g__projlib_author_length_innersep_dim }
- }
- \bool_set_true:N \g__projlib_author_affil_already_exist_bool
- { \g__projlib_author_font_curraddr_tl #1 }
- \\ \phantom {}
- }
- }
-
-\ProvideDocumentCommand \email { m }
- {
- \hook_gput_code:nnn { cmd/@author/after } { projlib-author }
- {
- \phantom {A} \\[-\baselineskip]
- \bool_if:NF \g__projlib_author_affil_already_exist_bool
- {
- \skip_vertical:n { \g__projlib_author_length_innersep_dim }
- }
- \bool_set_true:N \g__projlib_author_affil_already_exist_bool
- { \g__projlib_author_font_email_tl #1 }
- \\ \phantom {}
- }
- }
-
-\RequirePackage { regexpatch }
-
-\xpatchcmd { \@maketitle } { \begin{tabular}[t]{c} } {} {} { \FAIL }
-\xpatchcmd { \@maketitle } { \end{tabular} } {} {} { \FAIL }
-
-\tl_set:cn {@author} {}
-
-\hook_gput_code:nnn { cmd/@maketitle/before } { projlib-author }
- {
- \hook_gput_code:nnn { cmd/@author/before } { projlib-author }
- {
- \skip_vertical:n { - \g__projlib_author_length_sep_dim }
- }
- \hook_gput_code:nnn { cmd/@author/after } { projlib-author }
- {
- \skip_vertical:n { - \baselineskip }
- \bool_if:NT \g__projlib_author_affil_already_exist_bool
- {
- \skip_vertical:n { \g__projlib_author_length_aftersep_dim }
- }
- }
- }
-
-\bool_if:NT \l__projlib_author_amsfashion_bool
- {
- \RequirePackage{ projlib-language }
-
- \tl_new:N \g_projlib_author_keywordsname_style_tl
- \tl_gset:Nn \g_projlib_author_keywordsname_style_tl {}
-
- \projlib_langauge_define_multilingual_text:Nn \keywordsname
- {
- EN = \textsc{Key~words~and~phrases} ,
- FR = \textsc{Mots~et~phrases~clés} ,
- DE = \textsc{Schlüsselwörter~und~Phrasen} ,
- IT = \textsc{Parole~e~frasi~chiave} ,
- PT = \textsc{Palavras~e~frases~chave} ,
- BR = \textsc{Palavras~e~frases~chave} ,
- ES = \textsc{Palabras~y~frases~clave} ,
- CN = 关键词 ,
- TC = 關鍵詞 ,
- JP = キーワード ,
- RU = Ключевые~слова~и~фразы ,
- }
-
- \tl_new:N \g__projlib_author_keywords_tl
- \NewDocumentCommand \keywords { m }
- {
- \tl_gset:Nn \g__projlib_author_keywords_tl { #1 }
- }
-
- \tl_new:N \g__projlib_author_dedicatory_tl
- \NewDocumentCommand \dedicatory { m }
- {
- \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_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 }
-
- \cs_new_nopar:Nn \projlib_author_pre_thanks:n
- {
- \projlib_author_backup_thanks:w
- {
- \skip_horizontal:n { - \c__projlib_author_length_width_of_asterisk_dim }
- #1
- }
- }
-
- \NewDocumentCommand \thanks { m }
- {
- \tl_if_blank:eF { #1 }
- {
- \hook_gput_code:nnn { cmd/@title/after } { projlib-author }
- {
- \projlib_author_pre_thanks:n { #1 }
- }
- }
- }
-
- \NewCommandCopy \projlib_author_backup_my_author:w \author
- \RenewDocumentCommand \author { m }
- {
- \projlib_author_backup_my_author:w
- {
- \RenewCommandCopy \footnotemark \projlib_author_backup_footnotemark:
- \RenewCommandCopy \thanks \projlib_author_backup_thanks:w
- #1
- \cs_undefine:N \footnotemark
- }
- }
- }
-
- \NewCommandCopy \projlib_author_backup_abstract: \abstract
- \NewCommandCopy \projlib_author_backup_endabstract: \endabstract
- \cs_undefine:N \abstract
- \cs_undefine:N \endabstract
-
- \bool_new:N \g__projlib_author_already_maketitle_bool
- \bool_gset_false:N \g__projlib_author_already_maketitle_bool
- \bool_new:N \g__projlib_author_abstract_before_maketitle_bool
- \bool_gset_false:N \g__projlib_author_abstract_before_maketitle_bool
-
- \RequirePackage{ scontents }
- \newenvsc{abstract}[store-env=projlib-author-abstract,print-env=false]
-
- \hook_gput_code:nnn { env/abstract/after } { projlib-author }
- {
- \bool_if:NTF \g__projlib_author_already_maketitle_bool
- {
- \projlib_author_backup_abstract:
- \getstored{projlib-author-abstract}
- \projlib_author_backup_endabstract:
- }
- {
- \bool_gset_true:N \g__projlib_author_abstract_before_maketitle_bool
- }
- }
-
- \hook_gput_code:nnn { begindocument/before } { projlib-author }
- {
- \makeatletter
- \xpatchcmd { \@maketitle } { \@date }
- {
- \tl_if_blank:eTF { \@date } { \skip_vertical:n { -2 \baselineskip } } { \@date }
- \tl_if_blank:eF { \g__projlib_author_dedicatory_tl }
- {
- \tl_if_blank:eT { \@date } { \skip_vertical:n { 2 \baselineskip } }
- \par
- \skip_vertical:n { -\parskip }
- \skip_vertical:n { \baselineskip }
- \textit{ \g__projlib_author_dedicatory_tl }
- \tl_if_blank:eT { \@date }
- {
- \skip_vertical:n { -\parskip }
- \skip_vertical:n { \dim_eval:n { -1.7 \baselineskip } }
- }
- }
- } {} { \FAIL }
- \makeatother
-
- \hook_gput_code:nnn { cmd/maketitle/before } { projlib-author }
- {
- \tl_if_blank:eF { \g__projlib_author_keywords_tl }
- {
- \projlib_author_pre_thanks:n
- {
- \group_begin:
- \g_projlib_author_keywordsname_style_tl
- \keywordsname .
- \group_end:
- \c_space_tl
- \g__projlib_author_keywords_tl
- }
- }
- }
-
- \hook_gput_code:nnn { cmd/maketitle/after } { projlib-author }
- {
- \bool_if:NT \g__projlib_author_abstract_before_maketitle_bool
- {
- \projlib_author_backup_abstract:
- \getstored{projlib-author-abstract}
- \projlib_author_backup_endabstract:
- }
- \cs_undefine:N \address
- \cs_undefine:N \curraddr
- \cs_undefine:N \email
- \cs_undefine:N \dedicatory
- \cs_undefine:N \keywords
- \bool_gset_true:N \g__projlib_author_already_maketitle_bool
- }
- }
-
- \tl_new:N \l_projlib_author_subjclassname_tl
- \tl_new:N \l_projlib_author_subjclass_tl
- \msg_new:nnn { projlib-author }
- { unknown-msc-edition }
- { Unknown~edition~(#1)~of~Mathematics~Subject~Classification;~using~'2020' }
- \NewDocumentCommand \subjclass { O{2020} m }
- {
- \tl_set:Nn \l_projlib_author_subjclass_tl { #2 }
- \tl_if_exist:cTF { subjclassname_#1 }
- {
- \tl_set:Nn \l_projlib_author_subjclassname_tl { \tl_use:c { subjclassname_#1 } }
- }
- {
- \msg_warning:nnn { projlib-author } { unknown-msc-edition } { #1 }
- \tl_set:Nn \l_projlib_author_subjclassname_tl { \tl_use:c { subjclassname_2020 } }
- }
- \projlib_author_pre_thanks:n
- {
- \textit{ \l_projlib_author_subjclassname_tl . }
- \enspace
- \l_projlib_author_subjclass_tl .
- }
- }
- \tl_const:cn { subjclassname_1991 } { \textup{1991}~Mathematics~Subject~Classification }
- \tl_const:cn { subjclassname_2000 } { \textup{2000}~Mathematics~Subject~Classification }
- \tl_const:cn { subjclassname_2010 } { \textup{2010}~Mathematics~Subject~Classification }
- \tl_const:cn { subjclassname_2020 } { \textup{2020}~Mathematics~Subject~Classification }
- }
-
-\endinput
-%%
-%% End of file `projlib-author.sty'.
diff --git a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-datetime.sty b/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-datetime.sty
deleted file mode 100644
index d96d31d93b3..00000000000
--- a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-datetime.sty
+++ /dev/null
@@ -1,1645 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
-\ProvidesExplPackage
- {projlib-datetime}
- {2022/02/24} {}
- {Convert numeric date-time string to natural language}
-
-\tl_new:N \g__projlib_datetime_input_format_tl
-\tl_gset:Nn \g__projlib_datetime_input_format_tl { year-month-day }
-
-\keys_define:nn { projlib-datetime }
- {
- , plain .bool_set:N = \l__projlib_datetime_plain_bool
- , plain .initial:n = { false }
- , year-month-day .code:n = { \tl_gset:Nn \g__projlib_datetime_input_format_tl { year-month-day } }
- , month-day-year .code:n = { \tl_gset:Nn \g__projlib_datetime_input_format_tl { month-day-year } }
- , day-month-year .code:n = { \tl_gset:Nn \g__projlib_datetime_input_format_tl { day-month-year } }
- , year-month .code:n = { \tl_gset:Nn \g__projlib_datetime_input_format_tl { year-month-day } }
- , month-day .code:n = { \tl_gset:Nn \g__projlib_datetime_input_format_tl { year-month-day } }
- , month-year .code:n = { \tl_gset:Nn \g__projlib_datetime_input_format_tl { day-month-year } }
- , day-month .code:n = { \tl_gset:Nn \g__projlib_datetime_input_format_tl { day-month-year } }
- , unknown .code:n = {}
- }
-\ProcessKeysOptions { projlib-datetime }
-
-\bool_if:NT \l__projlib_datetime_plain_bool
- {
- \hook_gput_code:nnn { begindocument/before } { projlib-datetime }
- {
- \cs_set:Nn \projlib_datetime_text_superscript:n { #1 }
- }
- }
-
-\tl_new:N \l__projlib_datetime_output_format_tl
-\keys_define:nn { projlib-datetime-command }
- {
- , year-month-day .code:n = { \tl_set:Nn \g__projlib_datetime_input_format_tl { year-month-day } }
- , month-day-year .code:n = { \tl_set:Nn \g__projlib_datetime_input_format_tl { month-day-year } }
- , day-month-year .code:n = { \tl_set:Nn \g__projlib_datetime_input_format_tl { day-month-year } }
- , year-month .code:n = { \tl_set:Nn \g__projlib_datetime_input_format_tl { year-month-day } }
- , month-day .code:n = { \tl_set:Nn \g__projlib_datetime_input_format_tl { year-month-day } }
- , month-year .code:n = { \tl_set:Nn \g__projlib_datetime_input_format_tl { day-month-year } }
- , day-month .code:n = { \tl_set:Nn \g__projlib_datetime_input_format_tl { day-month-year } }
- , only-year-month .code:n = { \tl_set:Nn \l__projlib_datetime_output_format_tl { only-year-month } }
- , only-month-day .code:n = { \tl_set:Nn \l__projlib_datetime_output_format_tl { only-month-day } }
- , only-year .code:n = { \tl_set:Nn \l__projlib_datetime_output_format_tl { only-year } }
- , only-month .code:n = { \tl_set:Nn \l__projlib_datetime_output_format_tl { only-month } }
- , only-day .code:n = { \tl_set:Nn \l__projlib_datetime_output_format_tl { only-day } }
- , unknown .code:n = {}
- }
-
-\msg_new:nnnn { projlib-datetime }
- { non-supported-date-format }
- { The~date~format~"#1"~is~not~supported. }
- { The~only~formats~available~are~"year-month-day",~ "month-day-year"~and~"day-month-year". }
-
-\cs_new:Nn \projlib_datetime_set_input_format:n
- {
- \str_case:nnF { #1 }
- {
- { year-month-day } { \tl_gset:Nn \g__projlib_datetime_input_format_tl { year-month-day } }
- { month-day-year } { \tl_gset:Nn \g__projlib_datetime_input_format_tl { month-day-year } }
- { day-month-year } { \tl_gset:Nn \g__projlib_datetime_input_format_tl { day-month-year } }
- }
- {
- \msg_error:nnn { projlib-datetime } { non-supported-date-format } { #1 }
- }
- }
-
-\NewDocumentCommand \ProjLibSetDatetimeInputFormat { m }
- {
- \projlib_datetime_set_input_format:n { #1 }
- }
-
-
-\seq_new:N \l__projlib_datetime_date_seq
-
-\cs_new_protected:Nn \projlib_datetime_text_superscript:n
- {
- \group_begin:
- \small
- \textsuperscript { #1 }
- \group_end:
- }
-
-
-\cs_new:Nn \__projlib_datetime_today:n
- {
- \str_case_e:nnF { \l__projlib_datetime_output_format_tl }
- {
- { only-year-month }
- {
- \cs_if_exist_use:c { projlib_datetime_display_year_month #1 _ \languagename :nn }
- { \int_use:N \c_sys_year_int }
- { \int_use:N \c_sys_month_int }
- }
- { only-month-day }
- {
- \cs_if_exist_use:c { projlib_datetime_display_month_day #1 _ \languagename :nn }
- { \int_use:N \c_sys_month_int }
- { \int_use:N \c_sys_day_int }
- }
- { only-year }
- {
- \cs_if_exist_use:cT { projlib_datetime_display_year #1 _ \languagename :n }
- {
- { \int_use:N \c_sys_year_int }
- }
- }
- { only-month }
- {
- \cs_if_exist_use:cT { projlib_datetime_display_month #1 _ \languagename :n }
- {
- { \int_use:N \c_sys_month_int }
- }
- }
- { only-day }
- {
- \cs_if_exist_use:cT { projlib_datetime_display_day #1 _ \languagename :n }
- {
- { \int_use:N \c_sys_day_int }
- }
- }
- }
- {
- \cs_if_exist_use:c { projlib_datetime_display_year_month_day #1 _ \languagename :nnn }
- { \int_use:N \c_sys_year_int }
- { \int_use:N \c_sys_month_int }
- { \int_use:N \c_sys_day_int }
- }
- }
-
-\NewDocumentCommand \ProjLibtoday { O{} }
- {
- \group_begin:
- \keys_set:nn { projlib-datetime-command } { #1 }
- \__projlib_datetime_today:n {}
- \group_end:
- }
-
-\NewDocumentCommand \ProjLibToday { O{} }
- {
- \group_begin:
- \keys_set:nn { projlib-datetime-command } { #1 }
- \__projlib_datetime_today:n { _uppercase }
- \group_end:
- }
-
-\ProvideDocumentCommand \Thedate {} { \ProjLibdate }
-\ProvideDocumentCommand \TheDate {} { \ProjLibDate }
-
-
-\cs_new_protected:Nn \projlib_datetime_display_year_month_day:n
- {
- \__projlib_datetime_display_year_month_day:en { #1 } {}
- }
-
-\cs_new_protected:Nn \projlib_datetime_display_year_month_day_uppercase:n
- {
- \__projlib_datetime_display_year_month_day:en { #1 } { _uppercase }
- }
-
-\cs_new_protected:Nn \__projlib_datetime_display_year_month_day:nn
- {
- \regex_match:nnTF { \A \d{4}-\d{1,2}-\d{1,2} \Z } { #1 }
- {
- \seq_set_split:Nnn \l__projlib_datetime_date_seq { - } { #1 }
- \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 { 1 } } } % 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 { 3 } } } % day
- }
- {
- \regex_match:nnTF { \A \d{4}-\d{1,2} \Z } { #1 }
- {
- \seq_set_split:Nnn \l__projlib_datetime_date_seq { - } { #1 }
- \cs_if_exist_use:c { projlib_datetime_display_year_month #2 _ \languagename :nn }
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 1 } } } % year
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 2 } } } % month
- }
- {
- \regex_match:nnTF { \A \d{1,2}-\d{1,2} \Z } { #1 }
- {
- \seq_set_split:Nnn \l__projlib_datetime_date_seq { - } { #1 }
- \cs_if_exist_use:c { projlib_datetime_display_month_day #2 _ \languagename :nn }
- { \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
- }
- {
- #1
- }
- }
- }
- }
-\cs_generate_variant:Nn \__projlib_datetime_display_year_month_day:nn { en }
-
-
-\cs_new_protected:Nn \projlib_datetime_display_month_day_year:n
-{
- \__projlib_datetime_display_month_day_year:en { #1 } {}
-}
-
-\cs_new_protected:Nn \projlib_datetime_display_month_day_year_uppercase:n
-{
- \__projlib_datetime_display_month_day_year:en { #1 } { _uppercase }
-}
-
-\cs_new_protected:Nn \__projlib_datetime_display_month_day_year:nn
-{
- \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 }
- { \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
- }
- {
- \regex_match:nnTF { \A \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_year_month #2 _ \languagename :nn }
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 2 } } } % year
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 1 } } } % month
- }
- {
- \regex_match:nnTF { \A \d{1,2}-\d{1,2} \Z } { #1 }
- {
- \seq_set_split:Nnn \l__projlib_datetime_date_seq { - } { #1 }
- \cs_if_exist_use:c { projlib_datetime_display_month_day #2 _ \languagename :nn }
- { \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
- }
- {
- #1
- }
- }
- }
-}
-\cs_generate_variant:Nn \__projlib_datetime_display_month_day_year:nn { en }
-
-
-\cs_new_protected:Nn \projlib_datetime_display_day_month_year:n
-{
- \__projlib_datetime_display_day_month_year:en { #1 } {}
-}
-
-\cs_new_protected:Nn \projlib_datetime_display_day_month_year_uppercase:n
-{
- \__projlib_datetime_display_day_month_year:en { #1 } { _uppercase }
-}
-
-\cs_new_protected:Nn \__projlib_datetime_display_day_month_year:nn
-{
- \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 }
- { \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
- }
- {
- \regex_match:nnTF { \A \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_year_month #2 _ \languagename :nn }
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 2 } } } % year
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 1 } } } % month
- }
- {
- \regex_match:nnTF { \A \d{1,2}-\d{1,2} \Z } { #1 }
- {
- \seq_set_split:Nnn \l__projlib_datetime_date_seq { - } { #1 }
- \cs_if_exist_use:c { projlib_datetime_display_month_day #2 _ \languagename :nn }
- { \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
- }
- {
- #1
- }
- }
- }
-}
-\cs_generate_variant:Nn \__projlib_datetime_display_day_month_year:nn { en }
-
-
-\cs_new_protected:Nn \__projlib_datetime_date_parse_year_month_day:n
- {
- \regex_match:nnTF { \A \d{4}-\d{1,2}(|-\d{1,2}) \Z } { #1 }
- {
- \seq_set_split:Nnn \l__projlib_datetime_date_seq { - } { #1 }
- }
- {
- \regex_match:nnT { \A \d{1,2}-\d{1,2} \Z } { #1 }
- {
- \seq_set_split:Nnn \l__projlib_datetime_date_seq { - } { #1 }
- \seq_put_left:Nn \l__projlib_datetime_date_seq {}
- }
- }
- }
-
-\cs_new_protected:Nn \__projlib_datetime_date_parse_month_day_year:n
- {
- \regex_match:nnTF { \A \d{1,2}(|-\d{1,2})-\d{4} \Z } { #1 }
- {
- \seq_set_split:Nnn \l__projlib_datetime_date_seq { - } { #1 }
- \seq_pop_right:NN \l__projlib_datetime_date_seq \l_tmpa_tl
- \seq_put_left:NV \l__projlib_datetime_date_seq \l_tmpa_tl
- }
- {
- \regex_match:nnT { \A \d{1,2}-\d{1,2} \Z } { #1 }
- {
- \seq_set_split:Nnn \l__projlib_datetime_date_seq { - } { #1 }
- \seq_put_left:Nn \l__projlib_datetime_date_seq {}
- }
- }
- }
-
-\cs_new_protected:Nn \__projlib_datetime_date_parse_day_month_year:n
- {
- \regex_match:nnTF { \A \d{1,2}(|-\d{1,2})-\d{4} \Z } { #1 }
- {
- \seq_set_split:Nnn \l__projlib_datetime_date_seq { - } { #1 }
- \seq_reverse:N \l__projlib_datetime_date_seq
- }
- {
- \regex_match:nnT { \A \d{1,2}-\d{1,2} \Z } { #1 }
- {
- \seq_set_split:Nnn \l__projlib_datetime_date_seq { - } { #1 }
- \seq_reverse:N \l__projlib_datetime_date_seq
- \seq_put_left:Nn \l__projlib_datetime_date_seq {}
- }
- }
- }
-
-\cs_new:Nn \__projlib_datetime_input_format_to_str:
- {
- \str_case_e:nn { \g__projlib_datetime_input_format_tl }
- {
- { year-month-day } { year_month_day }
- { month-day-year } { month_day_year }
- { day-month-year } { day_month_year }
- }
- }
-
-\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 }
- \str_case_e:nnF { \l__projlib_datetime_output_format_tl }
- {
- { only-year-month }
- {
- \cs_if_exist_use:c { projlib_datetime_display_year_month #2 _ \languagename :nn }
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 1 } } }
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 2 } } }
- }
- { only-month-day }
- {
- \cs_if_exist_use:c { projlib_datetime_display_month_day #2 _ \languagename :nn }
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 2 } } }
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 3 } } }
- }
- { only-year }
- {
- \cs_if_exist_use:c { projlib_datetime_display_year #2 _ \languagename :n }
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 1 } } }
- }
- { only-month }
- {
- \cs_if_exist_use:c { projlib_datetime_display_month #2 _ \languagename :n }
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 2 } } }
- }
- { only-day }
- {
- \cs_if_exist_use:c { projlib_datetime_display_day #2 _ \languagename :n }
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 3 } } }
- }
- }
- {
- \cs_if_exist_use:c { projlib_datetime_display_ \__projlib_datetime_input_format_to_str: #2 :n } { #1 }
- }
- }
-
-\NewDocumentCommand \ProjLibdate { O{} m }
- {
- \group_begin:
- \keys_set:nn { projlib-datetime-command } { #1 }
- \__projlib_datetime_display_date_according_to_format:nn { #2 } {}
- \group_end:
- }
-
-\NewDocumentCommand \ProjLibDate { O{} m }
- {
- \group_begin:
- \keys_set:nn { projlib-datetime-command } { #1 }
- \__projlib_datetime_display_date_according_to_format:nn { #2 } { _uppercase }
- \group_end:
- }
-
-
-\int_new:N \l__projlib_datetime_day_of_week_day_int
-\int_new:N \l__projlib_datetime_day_of_week_month_int
-\int_new:N \l__projlib_datetime_day_of_week_year_int
-\int_new:N \l__projlib_datetime_day_of_week_century_int
-\int_new:N \l__projlib_datetime_day_of_week_result_int
-\cs_new:Nn \__projlib_datetime_calculate_day_of_week_with_year_month_day:nnn
- {
- \int_set:Nn \l__projlib_datetime_day_of_week_day_int { #3 }
- \int_compare:nNnTF { #2 } < { 3 }
- {
- \int_set:Nn \l__projlib_datetime_day_of_week_year_int { \int_eval:n { #1 - 1 } }
- }
- {
- \int_set:Nn \l__projlib_datetime_day_of_week_year_int { #1 }
- }
- \int_set:Nn \l__projlib_datetime_day_of_week_century_int { \int_eval:n { \l__projlib_datetime_day_of_week_year_int / 100 } }
- \int_set:Nn \l__projlib_datetime_day_of_week_year_int { \int_mod:nn { \l__projlib_datetime_day_of_week_year_int } { 100 } }
- \int_set:Nn \l__projlib_datetime_day_of_week_month_int
- {
- \int_case:nnF { #2 }
- {
- { 1 } { 0 }
- { 2 } { 3 }
- { 3 } { 2 }
- { 4 } { 5 }
- { 5 } { 0 }
- { 6 } { 3 }
- { 7 } { 5 }
- { 8 } { 1 }
- { 9 } { 4 }
- { 10 } { 6 }
- { 11 } { 2 }
- { 12 } { 4 }
- } { 0 }
- }
- \int_set:Nn \l__projlib_datetime_day_of_week_result_int
- {
- \int_eval:n
- {
- \l__projlib_datetime_day_of_week_day_int
- + \l__projlib_datetime_day_of_week_month_int
- +\l__projlib_datetime_day_of_week_year_int
- + \int_div_truncate:nn { \l__projlib_datetime_day_of_week_year_int } { 4 }
- + \int_div_truncate:nn { \l__projlib_datetime_day_of_week_century_int } { 4 }
- - 2 * \l__projlib_datetime_day_of_week_century_int
- }
- }
- \int_set:Nn \l__projlib_datetime_day_of_week_result_int
- {
- \int_mod:nn { \l__projlib_datetime_day_of_week_result_int } { 7 }
- }
- \int_compare:nNnT { \l__projlib_datetime_day_of_week_result_int } < { 1 }
- {
- \int_set:Nn \l__projlib_datetime_day_of_week_result_int
- {
- \int_eval:n { \l__projlib_datetime_day_of_week_result_int + 7 }
- }
- }
- }
-
-
-\cs_new_protected:Nn \projlib_datetime_display_week:n
- {
- \__projlib_datetime_display_week_according_to_format:en { #1 } {}
- }
-
-\cs_new_protected:Nn \projlib_datetime_display_week_uppercase:n
- {
- \__projlib_datetime_display_week_according_to_format:en { #1 } { _uppercase }
- }
-
-\cs_new_protected:Nn \__projlib_datetime_display_week_according_to_format:nn
- {
- \projlib_datetime_calculate_week_according_to_format:n { #1 }
- \cs_if_exist_use:c { projlib_datetime_display_week #2 _ \languagename :n } { \l__projlib_datetime_day_of_week_result_int }
- }
-\cs_generate_variant:Nn \__projlib_datetime_display_week_according_to_format:nn { en }
-
-
-\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 }
- \__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 } } }
- { \int_eval:n { \seq_item:Nn \l__projlib_datetime_date_seq { 3 } } }
- }
-
-
-% For each language, there are 7 groups of functions:
-% 1) \projlib_datetime_display_year_month_day_<languagename>:nnn
-% \projlib_datetime_display_year_month_day_uppercase_<languagename>:nnn
-% 2) \projlib_datetime_display_year_month_<languagename>:nn
-% \projlib_datetime_display_year_month_uppercase_<languagename>:nn
-% 3) \projlib_datetime_display_month_day_<languagename>:nn
-% \projlib_datetime_display_month_day_uppercase_<languagename>:nn
-% 4) \projlib_datetime_display_year_<languagename>:n
-% \projlib_datetime_display_year_uppercase_<languagename>:n
-% 5) \projlib_datetime_display_month_<languagename>:n
-% \projlib_datetime_display_month_uppercase_<languagename>:n
-% 6) \projlib_datetime_display_day_<languagename>:n
-% \projlib_datetime_display_day_uppercase_<languagename>:n
-% 7) \projlib_datetime_display_week_<languagename>:n
-% \projlib_datetime_display_week_uppercase_<languagename>:n
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_english:nnn
- {
- \projlib_datetime_display_month_day_english:nn { #2 } { #3 }
- ,\nobreakspace
- \projlib_datetime_display_year_english:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_english:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_uppercase_english:nnn
- {
- \projlib_datetime_display_month_day_uppercase_english:nn { #2 } { #3 }
- ,\nobreakspace
- \projlib_datetime_display_year_english:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_uppercase_english:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_english:nn
- {
- \projlib_datetime_display_month_english:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_english:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_english:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_uppercase_english:nn
- {
- \projlib_datetime_display_month_uppercase_english:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_english:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_uppercase_english:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_english:nn
- {
- \projlib_datetime_display_month_english:n { #1 }
- \nobreakspace
- \projlib_datetime_display_day_english:n { #2 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_english:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_uppercase_english:nn
- {
- \projlib_datetime_display_month_uppercase_english:n { #1 }
- \nobreakspace
- \projlib_datetime_display_day_english:n { #2 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_uppercase_english:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_english:n { #1 }
-\cs_new:Nn \projlib_datetime_display_year_uppercase_english:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_month_english:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { January }
- { 2 } { February }
- { 3 } { March }
- { 4 } { April }
- { 5 } { May }
- { 6 } { June }
- { 7 } { July }
- { 8 } { August }
- { 9 } { September }
- { 10 } { October }
- { 11 } { November }
- { 12 } { December }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_month_uppercase_english:n
- {
- \projlib_datetime_display_month_english:n { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_day_english:n { #1 }
-\cs_new:Nn \projlib_datetime_display_day_uppercase_english:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_week_english:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Monday }
- { 2 } { Tuesday }
- { 3 } { Wednesday }
- { 4 } { Thursday }
- { 5 } { Friday }
- { 6 } { Saturday }
- { 7 } { Sunday }
- } { ??? }
- }
-
-\cs_new:Nn \projlib_datetime_display_week_uppercase_english:n
- {
- \projlib_datetime_display_week_english:n { #1 }
- }
-
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_french:nnn
- {
- \projlib_datetime_display_month_day_french:nn { #2 } { #3 }
- \nobreakspace
- \projlib_datetime_display_year_french:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_french:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_uppercase_french:nnn
- {
- \projlib_datetime_display_month_day_uppercase_french:nn { #2 } { #3 }
- \nobreakspace
- \projlib_datetime_display_year_french:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_uppercase_french:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_french:nn
- {
- \projlib_datetime_display_month_french:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_french:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_french:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_uppercase_french:nn
- {
- \projlib_datetime_display_month_uppercase_french:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_french:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_uppercase_french:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_french:nn
- {
- \projlib_datetime_display_day_french:n { #2 }
- \nobreakspace
- \projlib_datetime_display_month_french:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_french:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_uppercase_french:nn
- {
- \projlib_datetime_display_month_day_french:nn { #1 } { #2 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_uppercase_french:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_french:n { #1 }
-\cs_new:Nn \projlib_datetime_display_year_uppercase_french:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_month_french:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { janvier }
- { 2 } { février }
- { 3 } { mars }
- { 4 } { avril }
- { 5 } { mai }
- { 6 } { juin }
- { 7 } { juillet }
- { 8 } { août }
- { 9 } { septembre }
- { 10 } { octobre }
- { 11 } { novembre }
- { 12 } { décembre }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_month_uppercase_french:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Janvier }
- { 2 } { Février }
- { 3 } { Mars }
- { 4 } { Avril }
- { 5 } { Mai }
- { 6 } { Juin }
- { 7 } { Juillet }
- { 8 } { Août }
- { 9 } { Septembre }
- { 10 } { Octobre }
- { 11 } { Novembre }
- { 12 } { Décembre }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_day_french:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { 1 \projlib_datetime_text_superscript:n { er } }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_day_uppercase_french:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { 1 \projlib_datetime_text_superscript:n { er } }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_week_french:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { lundi }
- { 2 } { mardi }
- { 3 } { mercredi }
- { 4 } { jeudi }
- { 5 } { vendredi }
- { 6 } { samedi }
- { 7 } { dimanche }
- } { ??? }
- }
-
-\cs_new:Nn \projlib_datetime_display_week_uppercase_french:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Lundi }
- { 2 } { Mardi }
- { 3 } { Mercredi }
- { 4 } { Jeudi }
- { 5 } { Vendredi }
- { 6 } { Samedi }
- { 7 } { Dimanche }
- } { ??? }
- }
-
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_ngerman:nnn
- {
- \projlib_datetime_display_month_day_ngerman:nn { #2 } { #3 }
- \nobreakspace
- \projlib_datetime_display_year_ngerman:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_ngerman:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_uppercase_ngerman:nnn
- {
- \projlib_datetime_display_month_day_uppercase_ngerman:nn { #2 } { #3 }
- \nobreakspace
- \projlib_datetime_display_year_ngerman:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_uppercase_ngerman:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_ngerman:nn
- {
- \projlib_datetime_display_month_ngerman:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_ngerman:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_ngerman:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_uppercase_ngerman:nn
- {
- \projlib_datetime_display_month_uppercase_ngerman:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_ngerman:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_uppercase_ngerman:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_ngerman:nn
- {
- \projlib_datetime_display_day_ngerman:n { #2 }
- .\nobreakspace
- \projlib_datetime_display_month_ngerman:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_ngerman:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_uppercase_ngerman:nn
- {
- \projlib_datetime_display_month_day_ngerman:nn { #1 } { #2 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_uppercase_ngerman:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_ngerman:n { #1 }
-\cs_new:Nn \projlib_datetime_display_year_uppercase_ngerman:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_month_ngerman:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Januar }
- { 2 } { Februar }
- { 3 } { März }
- { 4 } { April }
- { 5 } { Mai }
- { 6 } { Juni }
- { 7 } { Juli }
- { 8 } { August }
- { 9 } { September }
- { 10 } { Oktober }
- { 11 } { November }
- { 12 } { Dezember }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_month_uppercase_ngerman:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Januar }
- { 2 } { Februar }
- { 3 } { März }
- { 4 } { April }
- { 5 } { Mai }
- { 6 } { Juni }
- { 7 } { Juli }
- { 8 } { August }
- { 9 } { September }
- { 10 } { Oktober }
- { 11 } { November }
- { 12 } { Dezember }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_day_ngerman:n { #1 }
-\cs_new:Nn \projlib_datetime_display_day_uppercase_ngerman:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_week_ngerman:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Montag }
- { 2 } { Dienstag }
- { 3 } { Mittwoch }
- { 4 } { Donnerstag }
- { 5 } { Freitag }
- { 6 } { Samstag }
- { 7 } { Sonntag }
- } { ??? }
- }
-
-\cs_new:Nn \projlib_datetime_display_week_uppercase_ngerman:n
- {
- \projlib_datetime_display_week_ngerman:n { #1 }
- }
-
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_italian:nnn
- {
- \projlib_datetime_display_month_day_italian:nn { #2 } { #3 }
- \nobreakspace
- \projlib_datetime_display_year_italian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_italian:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_uppercase_italian:nnn
- {
- \projlib_datetime_display_month_day_uppercase_italian:nn { #2 } { #3 }
- \nobreakspace
- \projlib_datetime_display_year_italian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_uppercase_italian:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_italian:nn
- {
- \projlib_datetime_display_month_italian:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_italian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_italian:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_uppercase_italian:nn
- {
- \projlib_datetime_display_month_uppercase_italian:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_italian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_uppercase_italian:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_italian:nn
- {
- \projlib_datetime_display_day_italian:n { #2 }
- \nobreakspace
- \projlib_datetime_display_month_italian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_italian:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_uppercase_italian:nn
- {
- \projlib_datetime_display_month_day_italian:nn { #1 } { #2 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_uppercase_italian:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_italian:n { #1 }
-\cs_new:Nn \projlib_datetime_display_year_uppercase_italian:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_month_italian:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { gennaio }
- { 2 } { febbraio }
- { 3 } { marzo }
- { 4 } { aprile }
- { 5 } { maggio }
- { 6 } { giugno }
- { 7 } { luglio }
- { 8 } { agosto }
- { 9 } { settembre }
- { 10 } { ottobre }
- { 11 } { novembre }
- { 12 } { dicembre }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_month_uppercase_italian:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Gennaio }
- { 2 } { Febbraio }
- { 3 } { Marzo }
- { 4 } { Aprile }
- { 5 } { Maggio }
- { 6 } { Giugno }
- { 7 } { Luglio }
- { 8 } { Agosto }
- { 9 } { Settembre }
- { 10 } { Ottobre }
- { 11 } { Novembre }
- { 12 } { Dicembre }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_day_italian:n { #1 }
-\cs_new:Nn \projlib_datetime_display_day_uppercase_italian:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_week_italian:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { lunedì }
- { 2 } { martedì }
- { 3 } { mercoledì }
- { 4 } { giovedì }
- { 5 } { venerdì }
- { 6 } { sabato }
- { 7 } { domenica }
- } { ??? }
- }
-
-\cs_new:Nn \projlib_datetime_display_week_uppercase_italian:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Lunedì }
- { 2 } { Martedì }
- { 3 } { Mercoledì }
- { 4 } { Giovedì }
- { 5 } { Venerdì }
- { 6 } { Sabato }
- { 7 } { Domenica }
- } { ??? }
- }
-
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_portuguese:nnn
- {
- \projlib_datetime_display_month_day_portuguese:nn { #2 } { #3 }
- \nobreakspace de \nobreakspace
- \projlib_datetime_display_year_portuguese:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_portuguese:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_uppercase_portuguese:nnn
- {
- \projlib_datetime_display_month_day_uppercase_portuguese:nn { #2 } { #3 }
- \nobreakspace de \nobreakspace
- \projlib_datetime_display_year_portuguese:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_uppercase_portuguese:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_portuguese:nn
- {
- \projlib_datetime_display_month_portuguese:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_portuguese:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_portuguese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_uppercase_portuguese:nn
- {
- \projlib_datetime_display_month_uppercase_portuguese:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_portuguese:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_uppercase_portuguese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_portuguese:nn
- {
- \projlib_datetime_display_day_portuguese:n { #2 }
- \nobreakspace de \nobreakspace
- \projlib_datetime_display_month_uppercase_portuguese:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_portuguese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_uppercase_portuguese:nn
- {
- \projlib_datetime_display_month_day_portuguese:nn { #1 } { #2 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_uppercase_portuguese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_portuguese:n { #1 }
-\cs_new:Nn \projlib_datetime_display_year_uppercase_portuguese:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_month_portuguese:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { janeiro }
- { 2 } { fevereiro }
- { 3 } { março }
- { 4 } { abril }
- { 5 } { maio }
- { 6 } { junho }
- { 7 } { julho }
- { 8 } { agosto }
- { 9 } { setembro }
- { 10 } { outubro }
- { 11 } { novembro }
- { 12 } { dezembro }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_month_uppercase_portuguese:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Janeiro }
- { 2 } { Fevereiro }
- { 3 } { Março }
- { 4 } { Abril }
- { 5 } { Maio }
- { 6 } { Junho }
- { 7 } { Julho }
- { 8 } { Agosto }
- { 9 } { Setembro }
- { 10 } { Outubro }
- { 11 } { Novembro }
- { 12 } { Dezembro }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_day_portuguese:n { #1 }
-\cs_new:Nn \projlib_datetime_display_day_uppercase_portuguese:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_week_portuguese:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { segunda-feira }
- { 2 } { terça-feira }
- { 3 } { quarta-feira }
- { 4 } { quinta-feira }
- { 5 } { sexta-feira }
- { 6 } { sábado }
- { 7 } { domingo }
- } { ??? }
- }
-
-\cs_new:Nn \projlib_datetime_display_week_uppercase_portuguese:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Segunda-feira }
- { 2 } { Terça-feira }
- { 3 } { Quarta-feira }
- { 4 } { Quinta-feira }
- { 5 } { Sexta-feira }
- { 6 } { Sábado }
- { 7 } { Domingo }
- } { ??? }
- }
-
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_brazilian:nnn
- {
- \projlib_datetime_display_month_day_brazilian:nn { #2 } { #3 }
- \nobreakspace de \nobreakspace
- \projlib_datetime_display_year_brazilian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_brazilian:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_uppercase_brazilian:nnn
- {
- \projlib_datetime_display_month_day_uppercase_brazilian:nn { #2 } { #3 }
- \nobreakspace de \nobreakspace
- \projlib_datetime_display_year_brazilian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_uppercase_brazilian:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_brazilian:nn
- {
- \projlib_datetime_display_month_brazilian:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_brazilian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_brazilian:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_uppercase_brazilian:nn
- {
- \projlib_datetime_display_month_uppercase_brazilian:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_brazilian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_uppercase_brazilian:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_brazilian:nn
- {
- \projlib_datetime_display_day_brazilian:n { #2 }
- \nobreakspace de \nobreakspace
- \projlib_datetime_display_month_uppercase_brazilian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_brazilian:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_uppercase_brazilian:nn
- {
- \projlib_datetime_display_month_day_brazilian:nn { #1 } { #2 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_uppercase_brazilian:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_brazilian:n { #1 }
-\cs_new:Nn \projlib_datetime_display_year_uppercase_brazilian:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_month_brazilian:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { janeiro }
- { 2 } { fevereiro }
- { 3 } { março }
- { 4 } { abril }
- { 5 } { maio }
- { 6 } { junho }
- { 7 } { julho }
- { 8 } { agosto }
- { 9 } { setembro }
- { 10 } { outubro }
- { 11 } { novembro }
- { 12 } { dezembro }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_month_uppercase_brazilian:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Janeiro }
- { 2 } { Fevereiro }
- { 3 } { Março }
- { 4 } { Abril }
- { 5 } { Maio }
- { 6 } { Junho }
- { 7 } { Julho }
- { 8 } { Agosto }
- { 9 } { Setembro }
- { 10 } { Outubro }
- { 11 } { Novembro }
- { 12 } { Dezembro }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_day_brazilian:n { #1 }
-\cs_new:Nn \projlib_datetime_display_day_uppercase_brazilian:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_week_brazilian:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { segunda-feira }
- { 2 } { terça-feira }
- { 3 } { quarta-feira }
- { 4 } { quinta-feira }
- { 5 } { sexta-feira }
- { 6 } { sábado }
- { 7 } { domingo }
- } { ??? }
- }
-
-\cs_new:Nn \projlib_datetime_display_week_uppercase_brazilian:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Segunda-feira }
- { 2 } { Terça-feira }
- { 3 } { Quarta-feira }
- { 4 } { Quinta-feira }
- { 5 } { Sexta-feira }
- { 6 } { Sábado }
- { 7 } { Domingo }
- } { ??? }
- }
-
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_spanish:nnn
- {
- \projlib_datetime_display_month_day_spanish:nn { #2 } { #3 }
- \nobreakspace de \nobreakspace
- \projlib_datetime_display_year_spanish:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_spanish:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_uppercase_spanish:nnn
- {
- \projlib_datetime_display_month_day_uppercase_spanish:nn { #2 } { #3 }
- \nobreakspace de \nobreakspace
- \projlib_datetime_display_year_spanish:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_uppercase_spanish:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_spanish:nn
- {
- \projlib_datetime_display_month_spanish:n { #2 }
- \nobreakspace de \nobreakspace
- \projlib_datetime_display_year_spanish:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_spanish:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_uppercase_spanish:nn
- {
- \projlib_datetime_display_month_uppercase_spanish:n { #2 }
- \nobreakspace de \nobreakspace
- \projlib_datetime_display_year_spanish:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_uppercase_spanish:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_spanish:nn
- {
- \projlib_datetime_display_day_spanish:n { #2 }
- \nobreakspace de \nobreakspace
- \projlib_datetime_display_month_spanish:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_spanish:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_uppercase_spanish:nn
- {
- \projlib_datetime_display_month_day_spanish:nn { #1 } { #2 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_uppercase_spanish:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_spanish:n { #1 }
-\cs_new:Nn \projlib_datetime_display_year_uppercase_spanish:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_month_spanish:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { enero }
- { 2 } { febrero }
- { 3 } { marzo }
- { 4 } { abril }
- { 5 } { mayo }
- { 6 } { junio }
- { 7 } { julio }
- { 8 } { agosto }
- { 9 } { septiembre }
- { 10 } { octubre }
- { 11 } { noviembre }
- { 12 } { diciembre }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_month_uppercase_spanish:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Enero }
- { 2 } { Febrero }
- { 3 } { Marzo }
- { 4 } { Abril }
- { 5 } { Mayo }
- { 6 } { Junio }
- { 7 } { Julio }
- { 8 } { Agosto }
- { 9 } { Septiembre }
- { 10 } { Octubre }
- { 11 } { Noviembre }
- { 12 } { Diciembre }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_day_spanish:n { #1 }
-\cs_new:Nn \projlib_datetime_display_day_uppercase_spanish:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_week_spanish:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { lunes }
- { 2 } { martes }
- { 3 } { miércoles }
- { 4 } { jueves }
- { 5 } { viernes }
- { 6 } { sábado }
- { 7 } { domingo }
- } { ??? }
- }
-
-\cs_new:Nn \projlib_datetime_display_week_uppercase_spanish:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Lunes }
- { 2 } { Martes }
- { 3 } { Miércoles }
- { 4 } { Jueves }
- { 5 } { Viernes }
- { 6 } { Sábado }
- { 7 } { Domingo }
- } { ??? }
- }
-
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_schinese:nnn
- {
- #1 年 #2 月 #3 日
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_schinese:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_uppercase_schinese:nnn
- {
- #1 年 #2 月 #3 日
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_uppercase_schinese:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_schinese:nn
- {
- #1 年 #2 月
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_schinese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_uppercase_schinese:nn
- {
- #1 年 #2 月
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_uppercase_schinese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_schinese:nn
- {
- #1 月 #2 日
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_schinese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_uppercase_schinese:nn
- {
- #1 月 #2 日
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_uppercase_schinese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_schinese:n { #1 年 }
-\cs_new:Nn \projlib_datetime_display_year_uppercase_schinese:n { #1 年 }
-\cs_new:Nn \projlib_datetime_display_month_schinese:n { #1 月 }
-\cs_new:Nn \projlib_datetime_display_month_uppercase_schinese:n { #1 月 }
-\cs_new:Nn \projlib_datetime_display_day_schinese:n { #1 }
-\cs_new:Nn \projlib_datetime_display_day_uppercase_schinese:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_week_schinese:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { 星期一 }
- { 2 } { 星期二 }
- { 3 } { 星期三 }
- { 4 } { 星期四 }
- { 5 } { 星期五 }
- { 6 } { 星期六 }
- { 7 } { 星期日 }
- } { ??? }
- }
-
-\cs_new:Nn \projlib_datetime_display_week_uppercase_schinese:n
- {
- \projlib_datetime_display_week_schinese:n { #1 }
- }
-
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_tchinese:nnn
- {
- #1 年 #2 月 #3 日
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_tchinese:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_uppercase_tchinese:nnn
- {
- #1 年 #2 月 #3 日
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_uppercase_tchinese:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_tchinese:nn
- {
- #1 年 #2 月
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_tchinese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_uppercase_tchinese:nn
- {
- #1 年 #2 月
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_uppercase_tchinese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_tchinese:nn
- {
- #1 月 #2 日
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_tchinese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_uppercase_tchinese:nn
- {
- #1 月 #2 日
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_uppercase_tchinese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_tchinese:n { #1 年 }
-\cs_new:Nn \projlib_datetime_display_year_uppercase_tchinese:n { #1 年 }
-\cs_new:Nn \projlib_datetime_display_month_tchinese:n { #1 月 }
-\cs_new:Nn \projlib_datetime_display_month_uppercase_tchinese:n { #1 月 }
-\cs_new:Nn \projlib_datetime_display_day_tchinese:n { #1 }
-\cs_new:Nn \projlib_datetime_display_day_uppercase_tchinese:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_week_tchinese:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { 星期一 }
- { 2 } { 星期二 }
- { 3 } { 星期三 }
- { 4 } { 星期四 }
- { 5 } { 星期五 }
- { 6 } { 星期六 }
- { 7 } { 星期日 }
- } { ??? }
- }
-
-\cs_new:Nn \projlib_datetime_display_week_uppercase_tchinese:n
- {
- \projlib_datetime_display_week_tchinese:n { #1 }
- }
-
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_japanese:nnn
- {
- #1 年 #2 月 #3 日
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_japanese:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_uppercase_japanese:nnn
- {
- #1 年 #2 月 #3 日
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_uppercase_japanese:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_japanese:nn
- {
- #1 年 #2 月
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_japanese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_uppercase_japanese:nn
- {
- #1 年 #2 月
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_uppercase_japanese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_japanese:nn
- {
- #1 月 #2 日
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_japanese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_uppercase_japanese:nn
- {
- #1 月 #2 日
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_uppercase_japanese:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_japanese:n { #1 年 }
-\cs_new:Nn \projlib_datetime_display_year_uppercase_japanese:n { #1 年 }
-\cs_new:Nn \projlib_datetime_display_month_japanese:n { #1 月 }
-\cs_new:Nn \projlib_datetime_display_month_uppercase_japanese:n { #1 月 }
-\cs_new:Nn \projlib_datetime_display_day_japanese:n { #1 }
-\cs_new:Nn \projlib_datetime_display_day_uppercase_japanese:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_week_japanese:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { 月曜日 }
- { 2 } { 火曜日 }
- { 3 } { 水曜日 }
- { 4 } { 木曜日 }
- { 5 } { 金曜日 }
- { 6 } { 土曜日 }
- { 7 } { 日曜日 }
- } { ??? }
- }
-
-\cs_new:Nn \projlib_datetime_display_week_uppercase_japanese:n
- {
- \projlib_datetime_display_week_japanese:n { #1 }
- }
-
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_russian:nnn
- {
- \projlib_datetime_display_month_day_russian:nn { #2 } { #3 }
- \nobreakspace
- \projlib_datetime_display_year_russian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_russian:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_day_uppercase_russian:nnn
- {
- \projlib_datetime_display_month_day_uppercase_russian:nn { #2 } { #3 }
- \nobreakspace
- \projlib_datetime_display_year_russian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_day_uppercase_russian:nnn { VVV, eee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_russian:nn
- {
- \projlib_datetime_display_month_russian:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_russian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_russian:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_month_uppercase_russian:nn
- {
- \projlib_datetime_display_month_uppercase_russian:n { #2 }
- \nobreakspace
- \projlib_datetime_display_year_russian:n { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_year_month_uppercase_russian:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_russian:nn
- {
- \projlib_datetime_display_day_russian:n { #2 }
- \nobreakspace
- \int_case:nnF { #1 }
- {
- { 1 } { января }
- { 2 } { февраля }
- { 3 } { марта }
- { 4 } { апреля }
- { 5 } { мая }
- { 6 } { июня }
- { 7 } { июля }
- { 8 } { августа }
- { 9 } { сентября }
- { 10 } { октября }
- { 11 } { ноября }
- { 12 } { декабря }
- } { #1 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_russian:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_month_day_uppercase_russian:nn
- {
- \projlib_datetime_display_month_day_russian:nn { #1 } { #2 }
- }
-\cs_generate_variant:Nn \projlib_datetime_display_month_day_uppercase_russian:nn { VV, ee }
-
-\cs_new:Nn \projlib_datetime_display_year_russian:n { #1 ~ г. }
-\cs_new:Nn \projlib_datetime_display_year_uppercase_russian:n { #1 ~ г. }
-
-\cs_new:Nn \projlib_datetime_display_month_russian:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { январь }
- { 2 } { февраль }
- { 3 } { март }
- { 4 } { апрель }
- { 5 } { май }
- { 6 } { июнь }
- { 7 } { июль }
- { 8 } { август }
- { 9 } { сентябрь }
- { 10 } { октябрь }
- { 11 } { ноябрь }
- { 12 } { декабрь }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_month_uppercase_russian:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Январь }
- { 2 } { Февраль }
- { 3 } { Март }
- { 4 } { Апрель }
- { 5 } { Май }
- { 6 } { Июнь }
- { 7 } { Июль }
- { 8 } { Август }
- { 9 } { Сентябрь }
- { 10 } { Октябрь }
- { 11 } { Ноябрь }
- { 12 } { Декабрь }
- } { #1 }
- }
-
-\cs_new:Nn \projlib_datetime_display_day_russian:n { #1 }
-\cs_new:Nn \projlib_datetime_display_day_uppercase_russian:n { #1 }
-
-\cs_new:Nn \projlib_datetime_display_week_russian:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { понедельник }
- { 2 } { вторник }
- { 3 } { среда }
- { 4 } { четверг }
- { 5 } { пятница }
- { 6 } { суббота }
- { 7 } { воскресенье }
- } { ??? }
- }
-\cs_new:Nn \projlib_datetime_display_week_uppercase_russian:n
- {
- \int_case:nnF { #1 }
- {
- { 1 } { Понедельник }
- { 2 } { Вторник }
- { 3 } { Среда }
- { 4 } { Четверг }
- { 5 } { Пятница }
- { 6 } { Суббота }
- { 7 } { Воскресенье }
- } { ??? }
- }
-
-\endinput
-%%
-%% End of file `projlib-datetime.sty'.
diff --git a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-draft.sty b/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-draft.sty
deleted file mode 100644
index 6c7fe818c7c..00000000000
--- a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-draft.sty
+++ /dev/null
@@ -1,140 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
-\ProvidesExplPackage
- {projlib-draft}
- {2022/02/24} {}
- {Useful commands during draft stage}
-
-\keys_define:nn { projlib-draft }
- {
- , draft .bool_set:N = \l__projlib_draft_fast_bool
- , draft .initial:n = { false }
- , fast .bool_set:N = \l__projlib_draft_fast_bool
- , unknown .code:n = {}
- }
-\ProcessKeysOptions { projlib-draft }
-
-\RequirePackage { projlib-language }
-\RequirePackage { xcolor }
-
-\bool_if:NTF \l__projlib_draft_fast_bool
- {
- \NewDocumentCommand \projlib_draft_plain_box { O{-paper} m }
- {
- \group_begin:
- \color { #1 }
- \dim_set:Nn \fboxsep { 1.5pt }
- \dim_set:Nn \fboxrule { 1.5pt }
- \fbox { #2 }
- \group_end:
- }
- }
- {
- \PassOptionsToPackage { many } { tcolorbox }
- \RequirePackage { tcolorbox }
- \NewTCBox \projlib_draft_plain_box { O{-paper} }
- {
- enhanced~jigsaw, breakable,
- on~line, arc = 1.2pt, outer~arc = 1pt,
- colframe = #1, colupper = #1, opacityback = 0,
- boxsep = 1pt, boxrule = 1.2pt,
- left = 1pt, right = 1pt, top = 0pt, bottom = 0pt,
- }
- }
-
-\projlib_langauge_define_multilingual_text:Nn \__dnf_text
- {
- EN = To\ be\ finished ,
- FR = Pas\ encore\ fini ,
- DE = Nicht\ beendet ,
- IT = Per\ essere\ finito ,
- PT = Não\ terminou ,
- BR = Não\ terminou ,
- ES = Estar\ terminado ,
- CN = 这里尚未完成 ,
- TC = 這裡尚未完成 ,
- JP = 終わってない ,
- RU = Не\ закончен ,
- }
-
-\projlib_langauge_define_multilingual_text:Nn \__dnf_report_text
- {
- EN = { Below\ is\ a\ list\ of\ outstanding\ items,
- \ followed\ by\ the\ corresponding\ page\ numbers. } ,
- FR = { Voici\ la\ liste\ des\ éléments\ en\ suspens,
- \ suivie\ des\ numéros\ de\ page\ correspondants. } ,
- DE = { Unten\ ist\ eine\ Liste\ der\ ausstehenden\ Posten,
- \ gefolgt\ von\ den\ entsprechenden\ Seitenzahlen. } ,
- IT = { Qui\ sotto\ c'è\ una\ lista\ di\ voci\ in\ sospeso,
- \ seguita\ dai\ numeri\ di\ pagina\ corrispondenti. } ,
- PT = { Abaixo\ está\ uma\ lista\ de\ itens\ pendentes,
- \ seguida\ dos\ números\ de\ página\ correspondentes. } ,
- BR = { Abaixo\ está\ uma\ lista\ de\ itens\ pendentes,
- \ seguida\ dos\ números\ de\ página\ correspondentes. } ,
- ES = { Aquí está\ la\ lista\ de\ elementos\ pendientes,
- \ seguida\ de\ los\ números\ de\ página\ correspondientes. } ,
- CN = { 以下是未完成事项列表,括号内注明了对应的页码。 } ,
- TC = { 以下是未完成事項的列表,括號內註明了對應頁碼。 } ,
- JP = { 以下は、未解決の項目とそれに対応するページ番号の一覧です。 } ,
- RU = { Ниже\ приведен\ список\ невыполненных\ пунктов
- \ с\ соответствующими\ номерами\ страниц\ в\ скобках. } ,
- }
-
-\tl_new:c { __dnf_font }
-\tl_gset:cn { __dnf_font } { \normalfont \ttfamily \bfseries \small }
-
-\definecolor { __dnf_color } { RGB } { 21, 122, 20 }
-
-\newcounter { __dnf_counter }
-
-\tl_new:N \g__projlib_draft_dnf_report_tl
-
-\NewDocumentCommand \dnf { d<> }
- {
- \noindent
- \projlib_draft_plain_box [ __dnf_color ]
- {
- \stepcounter { __dnf_counter }
- \__dnf_font
- \__dnf_text
- \c_space_tl
- \# \the__dnf_counter
- \IfNoValueF { #1 } { \, : ~ #1 }
- \tl_gput_right:Nx \g__projlib_draft_dnf_report_tl
- {
- \# \,
- \int_value:w \the__dnf_counter
- \c_space_tl \c_space_tl
- $\langle$
- \skip_horizontal:n { 0.1em }
- \cs_if_exist:cTF { hyperlink }
- {
- \exp_not:N \hyperlink { page.\thepage } { \thepage }
- }
- {
- \thepage
- }
- \skip_horizontal:n { 0.1em }
- $\rangle$
- \c_space_tl
- \IfNoValueF { #1 } { : ~ #1 }
- \\
- }
- }
- }
-
-\hook_gput_code:nnn { enddocument } { projlib-draft }
- {
- \tl_if_blank:VF \g__projlib_draft_dnf_report_tl
- {
- \clearpage \noindent
- \color { __dnf_color }
- \__dnf_font
- \__dnf_report_text \\[0.75\baselineskip]
- \g__projlib_draft_dnf_report_tl
- }
- }
-
-\endinput
-%%
-%% End of file `projlib-draft.sty'.
diff --git a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-font.sty b/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-font.sty
deleted file mode 100644
index 4b2e85f4dc1..00000000000
--- a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-font.sty
+++ /dev/null
@@ -1,137 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
-\ProvidesExplPackage
- {projlib-font}
- {2022/02/26} {}
- {Font selection and configuration}
-
-\keys_define:nn { projlib-font }
- {
- , useosf .bool_set:N = \l__projlib_font_useosf_bool
- , useosf .initial:n = { false }
- , old-style-figures.bool_set:N = \l__projlib_font_useosf_bool
- , old~style~figures.bool_set:N = \l__projlib_font_useosf_bool
- , old style figures.bool_set:N = \l__projlib_font_useosf_bool
- , lmodern .bool_set:N = \l__projlib_font_lmodern_bool
- , lmodern .initial:n = { false }
- , latin-modern .bool_set:N = \l__projlib_font_lmodern_bool
- , latin~modern .bool_set:N = \l__projlib_font_lmodern_bool
- , latin modern .bool_set:N = \l__projlib_font_lmodern_bool
- , palatino .bool_set:N = \l__projlib_font_palatino_bool
- , palatino .initial:n = { false }
- , times .bool_set:N = \l__projlib_font_times_bool
- , times .initial:n = { false }
- , garamond .bool_set:N = \l__projlib_font_garamond_bool
- , garamond .initial:n = { false }
- , noto .bool_set:N = \l__projlib_font_noto_bool
- , noto .initial:n = { false }
- , biolinum .bool_set:N = \l__projlib_font_biolinum_bool
- , biolinum .initial:n = { false }
- , unknown .code:n = {}
- }
-\ProcessKeysOptions { projlib-font }
-
-\RequirePackage { setspace }
-
-\cs_new:Nn \projlib_font_set_linespacing_latin:n
- {
- \cs_if_exist:NTF \projlib_language_set_linespacing_latin:n
- {
- \projlib_language_set_linespacing_latin:n { #1 }
- }
- {
- #1
- }
- }
-
-\bool_if:NT \l__projlib_font_lmodern_bool
- {
- \RequirePackage { amssymb }
- \bool_if:NTF \l__projlib_font_useosf_bool
- {
- \RequirePackage { cfr-lm }
- }
- {
- \RequirePackage { lmodern }
- }
- \projlib_font_set_linespacing_latin:n { \setstretch { 1.00 } }
- }
-
-\bool_if:NT \l__projlib_font_palatino_bool
- {
- \RequirePackage { mathpazo }
- \PassOptionsToPackage { defaultsups } { newpxtext }
- \RequirePackage { newpxtext }
- \cs_undefine:c { openbox }
- \projlib_font_set_linespacing_latin:n { \setstretch { 1.07 } }
- \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
- }
-
-\bool_if:NT \l__projlib_font_times_bool
- {
- \PassOptionsToPackage { defaultsups } { newtxtext }
- \RequirePackage { newtxtext }
- \RequirePackage { newtxmath }
- \cs_undefine:c { openbox }
- \projlib_font_set_linespacing_latin:n { \setstretch { 1.00 } }
- \bool_if:NT \l__projlib_font_useosf_bool { \useosf }
- }
-
-\bool_if:NT \l__projlib_font_garamond_bool
- {
- \bool_if:NF \l__projlib_font_useosf_bool
- {
- \PassOptionsToPackage { lining } { ebgaramond }
- }
- \RequirePackage { ebgaramond-maths }
- \RequirePackage { ebgaramond }
- \projlib_font_set_linespacing_latin:n { \setstretch { 1.00 } }
- }
-
-\bool_if:NT \l__projlib_font_noto_bool
- {
- \bool_if:NT \l__projlib_font_useosf_bool
- {
- \PassOptionsToPackage { oldstyle } { notomath }
- }
- \RequirePackage { anyfontsize }
- \RequirePackage { notomath }
- \projlib_font_set_linespacing_latin:n { \setstretch { 1.00 } }
- }
-
-\bool_if:NT \l__projlib_font_biolinum_bool
- {
- \sys_if_engine_pdftex:TF
- {
- \bool_if:NT \l__projlib_font_useosf_bool
- {
- \PassOptionsToPackage { osf } { biolinum }
- }
- \RequirePackage { biolinum }
- \tl_gset:Nn \familydefault { \biolinum@family }
- }
- {
- \PassOptionsToPackage { no-math } { fontspec }
- \RequirePackage { fontspec }
- \bool_if:NTF \l__projlib_font_useosf_bool
- {
- \setmainfont { LinBiolinum_R.otf } [
- BoldFont = LinBiolinum_RB.otf ,
- ItalicFont = LinBiolinum_RI.otf ,
- BoldItalicFont = LinBiolinum_RBO.otf ,
- Numbers = OldStyle , ]
- }
- {
- \setmainfont { LinBiolinum_R.otf } [
- BoldFont = LinBiolinum_RB.otf ,
- ItalicFont = LinBiolinum_RI.otf ,
- BoldItalicFont = LinBiolinum_RBO.otf , ]
- }
- }
- \projlib_font_set_linespacing_latin:n { \setstretch { 1.05 } }
- \RequirePackage [ italic, defaultmathsizes ] { mathastext }
- }
-
-\endinput
-%%
-%% End of file `projlib-font.sty'.
diff --git a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-language.sty b/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-language.sty
deleted file mode 100644
index 6167de8d043..00000000000
--- a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-language.sty
+++ /dev/null
@@ -1,508 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
-\ProvidesExplPackage
- {projlib-language}
- {2022/02/26} {}
- {Multi-language configuration}
-
-\clist_const:Nn \c__projlib_language_supported_clist
- {
- english ,
- french ,
- ngerman ,
- italian ,
- portuguese ,
- brazilian ,
- spanish ,
- schinese ,
- tchinese ,
- japanese ,
- russian ,
- }
-
-\clist_new:N \g__projlib_language_babel_option_clist
-
-\str_new:N \g__projlib_language_main_str
-
-\bool_new:N \g__projlib_language_enabled_all_bool
-\bool_gset_true:N \g__projlib_language_enabled_all_bool
-
-\clist_map_inline:Nn \c__projlib_language_supported_clist
- {
- \bool_new:c { g__projlib_language_enabled_ #1 _bool }
- \bool_gset_false:c { g__projlib_language_enabled_ #1 _bool }
- }
-
-\cs_new:Nn \projlib_language_set_option_no_babel:n
- {
- \bool_gset_false:N \g__projlib_language_enabled_all_bool
- \bool_gset_true:c { g__projlib_language_enabled_ #1 _bool }
- \str_if_empty:NT \g__projlib_language_main_str
- {
- \str_gset:Nn \g__projlib_language_main_str { #1 }
- }
- }
-\cs_new:Nn \projlib_language_set_option:n
- {
- \projlib_language_set_option_no_babel:n { #1 }
- \clist_gput_left:Nn \g__projlib_language_babel_option_clist { #1 }
- }
-
-\keys_define:nn { projlib-language }
- {
- , EN .meta:n = { english }
- , english .code:n = { \projlib_language_set_option:n { english } }
- , English .meta:n = { english }
- , FR .meta:n = { french }
- , french .code:n = { \projlib_language_set_option:n { french } }
- , French .meta:n = { french }
- , DE .meta:n = { ngerman }
- , german .meta:n = { ngerman }
- , ngerman .code:n = { \projlib_language_set_option:n { ngerman } }
- , German .meta:n = { ngerman }
- , IT .meta:n = { italian }
- , italian .code:n = { \projlib_language_set_option:n { italian } }
- , Italian .meta:n = { italian }
- , PT .meta:n = { portuguese }
- , portuguese .code:n = { \projlib_language_set_option:n { portuguese } }
- , Portuguese .meta:n = { portuguese }
- , BR .meta:n = { brazilian }
- , brazilian .code:n = { \projlib_language_set_option:n { brazilian } }
- , Brazilian .meta:n = { brazilian }
- , ES .meta:n = { spanish }
- , spanish .code:n = { \clist_gput_left:Nn \g__projlib_language_babel_option_clist { es-notilde, es-noquoting }
- \projlib_language_set_option:n { spanish } }
- , Spanish .meta:n = { spanish }
- , CN .meta:n = { schinese }
- , chinese .meta:n = { schinese }
- , schinese .code:n = { \projlib_language_set_option_no_babel:n { schinese } }
- , simplifiedchinese .meta:n = { schinese }
- , simplified-chinese .meta:n = { schinese }
- , Chinese .meta:n = { schinese }
- , SChinese .meta:n = { schinese }
- , SimplifiedChinese .meta:n = { schinese }
- , Simplified-Chinese .meta:n = { schinese }
- , TC .meta:n = { tchinese }
- , tchinese .code:n = { \projlib_language_set_option_no_babel:n { tchinese } }
- , traditionalchinese .meta:n = { tchinese }
- , traditional-chinese .meta:n = { tchinese }
- , TChinese .meta:n = { tchinese }
- , TraditionalChinese .meta:n = { tchinese }
- , Traditional-Chinese .meta:n = { tchinese }
- , JP .meta:n = { japanese }
- , japanese .code:n = { \projlib_language_set_option:n { japanese } }
- , Japanese .meta:n = { japanese }
- , RU .meta:n = { russian }
- , russian .code:n = { \projlib_language_set_option:n { russian } }
- , Russian .meta:n = { russian }
- , unknown .code:n = {}
- }
-\ProcessKeysOptions { projlib-language }
-
-\cs_new_protected:Nn \projlib_language_clear_global_option:n
- {
- \clist_remove_all:cn { @classoptionslist } { #1 }
- }
-
-\projlib_language_clear_global_option:n { chinese }
-\projlib_language_clear_global_option:n { Chinese }
-
-\clist_gput_right:Nn \g__projlib_language_babel_option_clist { shorthands = off }
-
-\str_if_empty:NT \g__projlib_language_main_str
- {
- \str_gset:Nn \g__projlib_language_main_str { english }
- }
-
-\bool_if:NT \g__projlib_language_enabled_all_bool
- {
- \clist_map_inline:Nn \c__projlib_language_supported_clist
- {
- \bool_gset_true:c { g__projlib_language_enabled_ #1 _bool }
- }
- }
-
-
-\cs_new:Nn \projlib_language_str_to_languagename:n
- {
- \str_case_e:nnF { \str_foldcase:n { #1 } }
- {
- { all } { common }
- { common } { common }
- { cn } { schinese }
- { chinese } { schinese }
- { schinese } { schinese }
- { simplifiedchinese } { schinese }
- { simplified-chinese } { schinese }
- { tc } { tchinese }
- { tchinese } { tchinese }
- { traditionalchinese } { tchinese }
- { traditional-chinese} { tchinese }
- { jp } { japanese }
- { japanese } { japanese }
- { en } { english }
- { english } { english }
- { fr } { french }
- { french } { french }
- { de } { ngerman }
- { german } { ngerman }
- { ngerman } { ngerman }
- { it } { italian }
- { italian } { italian }
- { pt } { portuguese }
- { portuguese } { portuguese }
- { br } { brazilian }
- { brazilian } { brazilian }
- { es } { spanish }
- { spanish } { spanish }
- { ru } { russian }
- { russian } { russian }
- }
- { #1 }
- }
-
-\cs_new:Nn \projlib_language_str_to_languagetype:n
- {
- \str_case_e:nn { \str_foldcase:n { #1 } }
- {
- { cn } { cjk }
- { chinese } { cjk }
- { schinese } { cjk }
- { simplifiedchinese } { cjk }
- { simplified-chinese } { cjk }
- { tc } { cjk }
- { tchinese } { cjk }
- { traditionalchinese } { cjk }
- { traditional-chinese} { cjk }
- { jp } { cjk }
- { japanese } { cjk }
- { en } { latin }
- { english } { latin }
- { fr } { latin }
- { french } { latin }
- { de } { latin }
- { german } { latin }
- { ngerman } { latin }
- { it } { latin }
- { italian } { latin }
- { pt } { latin }
- { portuguese } { latin }
- { br } { latin }
- { brazilian } { latin }
- { es } { latin }
- { spanish } { latin }
- { ru } { latin }
- { russian } { latin }
- }
- }
-
-\sys_if_engine_pdftex:T
- {
- \RequirePackage [T1] { fontenc }
- }
-
-\bool_if:NTF \g__projlib_language_enabled_all_bool
- {
- \sys_if_engine_pdftex:F
- {
- \PassOptionsToPackage { japanese, russian } { babel }
- }
- \PassOptionsToPackage { italian, portuguese, brazilian, spanish, es-notilde, es-noquoting, ngerman, french, english, shorthands = off } { babel }
- }
- {
- \PassOptionsToPackage { \g__projlib_language_babel_option_clist } { babel }
- }
-
-\PassOptionsToPackage { italian, brazilian, spanish, ngerman, french, english } { cleveref }
-\RequirePackage { babel }
-
-
-\bool_if:NT \g__projlib_language_enabled_french_bool
- {
- \frenchsetup { PartNameFull = false }
- }
-
-\bool_if:NT \g__projlib_language_enabled_portuguese_bool
- {
- \NewCommandCopy \__projlib_language_babel_ord: \ord
- \cs_undefine:N \ord
- \hook_gput_code:nnn { begindocument } { projlib-language }
- {
- \cs_if_exist:NT \ord
- {
- \NewCommandCopy \__projlib_language_user_ord: \ord
- \cs_set_protected:Npn \ord
- {
- \mode_if_math:TF
- { \__projlib_language_user_ord: }
- { \__projlib_language_babel_ord: }
- }
- }
- }
- }
-
-\babelprovide { schinese }
-\babelprovide { tchinese }
-
-
-\NewCommandCopy \projlib_language_backup_today:n \today
-
-\tl_new:N \g_projlib_language_settings_common_tl
-\clist_map_inline:Nn \c__projlib_language_supported_clist
- {
- \tl_new:c { g_projlib_language_settings_ #1 _tl }
- }
-
-\tl_gput_right:Nn \g_projlib_language_settings_common_tl
- {
- \cs_if_exist:NT \ProjLibToday
- {
- \RenewCommandCopy \today \ProjLibToday
- }
- }
-
-\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_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_gput_right:Nn \g_projlib_language_settings_japanese_tl
- {
- \selectlanguage { japanese }
- \g_projlib_language_settings_common_tl
- }
-
-\tl_gput_right:Nn \g_projlib_language_settings_english_tl
- {
- \selectlanguage { english }
- \g_projlib_language_settings_common_tl
- }
-
-\tl_gput_right:Nn \g_projlib_language_settings_french_tl
- {
- \selectlanguage { french }
- \g_projlib_language_settings_common_tl
- \tl_gset:cn { frenchpartname } { Partie }
- }
-
-\tl_gput_right:Nn \g_projlib_language_settings_ngerman_tl
- {
- \selectlanguage { ngerman }
- \g_projlib_language_settings_common_tl
- }
-
-\tl_gput_right:Nn \g_projlib_language_settings_italian_tl
- {
- \selectlanguage { italian }
- \g_projlib_language_settings_common_tl
- }
-
-\tl_gput_right:Nn \g_projlib_language_settings_portuguese_tl
- {
- \selectlanguage { portuguese }
- \g_projlib_language_settings_common_tl
- }
-
-\tl_gput_right:Nn \g_projlib_language_settings_brazilian_tl
- {
- \selectlanguage { brazilian }
- \g_projlib_language_settings_common_tl
- }
-
-\tl_gput_right:Nn \g_projlib_language_settings_spanish_tl
- {
- \selectlanguage { spanish }
- \g_projlib_language_settings_common_tl
- }
-
-\tl_gput_right:Nn \g_projlib_language_settings_russian_tl
- {
- \selectlanguage { russian }
- \g_projlib_language_settings_common_tl
- }
-
-\NewDocumentCommand \AddLanguageSetting { O{} m }
- {
- \IfNoValueTF { #1 }
- {
- \tl_gput_right:Nn \g_projlib_language_settings_common_tl { #2 }
- }
- {
- \tl_gput_right:cn { g_projlib_language_settings_ \projlib_language_str_to_languagename:n { #1 } _tl } { #2 }
- }
- }
-
-
-\RequirePackage { setspace }
-
-\tl_new:N \g_projlib_language_linespacing_latin_tl
-\tl_new:N \g_projlib_language_linespacing_cjk_tl
-
-\tl_gset:Nn \g_projlib_language_linespacing_latin_tl
- {
- \setstretch { 1.00 }
- }
-\tl_gset:Nn \g_projlib_language_linespacing_cjk_tl
- {
- \onehalfspacing
- }
-
-\cs_new:Nn \projlib_language_set_linespacing_latin:n
- {
- \tl_gset:Nn \g_projlib_language_linespacing_latin_tl { #1 }
- }
-\cs_new:Nn \projlib_language_set_linespacing_cjk:n
- {
- \tl_gset:Nn \g_projlib_language_linespacing_cjk_tl { #1 }
- }
-
-\tl_new:N \g_projlib_language_parindent_latin_tl
-\tl_new:N \g_projlib_language_parindent_cjk_tl
-
-\@ifclassloaded{beamer}
- {
- \tl_gset:Nn \g_projlib_language_parindent_latin_tl
- {
- \dim_set:Nn \parindent { 0em }
- }
- \tl_gset:Nn \g_projlib_language_parindent_cjk_tl
- {
- \dim_set:Nn \parindent { 0em }
- }
- }
- {
- \tl_gset:Nn \g_projlib_language_parindent_latin_tl
- {
- \dim_set:Nn \parindent { 1.5em }
- }
- \tl_gset:Nn \g_projlib_language_parindent_cjk_tl
- {
- \dim_set:Nn \parindent { 2em }
- }
- }
-
-\hook_gput_code:nnn { begindocument } { projlib-language }
- {
- \@ifpackageloaded{parskip}
- {
- \tl_gset:Nn \g_projlib_language_parindent_latin_tl
- {
- \dim_set:Nn \parindent { 0em }
- }
- \tl_gset:Nn \g_projlib_language_parindent_cjk_tl
- {
- \dim_set:Nn \parindent { 0em }
- }
- } {}
- }
-
-\cs_new:Nn \projlib_language_set_parindent_latin:n
- {
- \tl_gset:Nn \g_projlib_language_parindent_latin_tl { #1 }
- }
-\cs_new:Nn \projlib_language_set_parindent_cjk:n
- {
- \tl_gset:Nn \g_projlib_language_parindent_cjk_tl { #1 }
- }
-
-\NewDocumentCommand \ProjLibLanguageSet { m m m }
- % #1 = the thing to set
- % #2 = language or type
- % #3 = the setting
- {
- \use:c { projlib_language_set_ #1 _ #2 :n } { #3 }
- }
-
-
-\cs_new:Nn \projlib_language_use_language_pure:n
- {
- \tl_use:c { g_projlib_language_settings_ \projlib_language_str_to_languagename:n { #1 } _tl }
- }
-\cs_generate_variant:Nn \projlib_language_use_language_pure:n { e }
-
-\cs_new:Nn \projlib_language_use_language:n
- {
- \projlib_language_use_language_pure:n { #1 }
- \tl_use:c { g_projlib_language_linespacing_ \projlib_language_str_to_languagetype:n { #1 } _tl }
- \tl_use:c { g_projlib_language_parindent_ \projlib_language_str_to_languagetype:n { #1 } _tl }
- }
-\cs_generate_variant:Nn \projlib_language_use_language:n { e }
-
-\NewDocumentCommand \UseLanguage { m }
- {
- \hook_gput_code:nnn { begindocument } { projlib-language }
- {
- \projlib_language_use_language:e { #1 }
- }
- }
-\NewDocumentCommand \UseOtherLanguage { m m }
- {
- \group_begin:
- \projlib_language_use_language_pure:e { #1 }
- #2
- \group_end:
- }
-
-\UseLanguage { \g__projlib_language_main_str }
-
-
-\cs_new:Nn \projlib_langauge_define_multilingual_text:Nn
- { % #1 = command name (with backslash)
- % #2 = key-value name configuration
- \keyval_parse:nnn
- {}
- { \__projlib_langauge_define_multilingual_text_do:nnn { \cs_to_str:N #1 } }
- { #2 }
- \tl_gset:Nn #1
- {
- \tl_use:c { \cs_to_str:N #1 _projlib_language_text_ \languagename }
- }
- }
-\cs_generate_variant:Nn \projlib_langauge_define_multilingual_text:Nn { cn }
-
-\cs_new:Nn \__projlib_langauge_define_multilingual_text_do:nnn
- { % #1 = command name
- % #2 = language name
- % #3 = the text
- \exp_args:Ne \tl_gset:cn { #1 _projlib_language_text_ \projlib_language_str_to_languagename:n { #2 } } { #3 }
- }
-
-\NewDocumentCommand \DefineMultilingualText { m m }
- % #1 = command name
- % #2 = key-value name configuration
- {
- \projlib_langauge_define_multilingual_text:Nn #1 { #2 }
- }
-
-\endinput
-%%
-%% End of file `projlib-language.sty'.
diff --git a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-logo.sty b/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-logo.sty
deleted file mode 100644
index d9ffb5c1ed2..00000000000
--- a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-logo.sty
+++ /dev/null
@@ -1,100 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
-\ProvidesExplPackage
- {projlib-logo}
- {2022/02/24} {}
- {The ProjLib logo}
-
-\keys_define:nn { projlib-logo }
- {
- , draft .bool_set:N = \l__projlib_logo_fast_bool
- , draft .initial:n = { false }
- , fast .bool_set:N = \l__projlib_logo_fast_bool
- , unknown .code:n = {}
- }
-\ProcessKeysOptions { projlib-logo }
-
-\bool_if:NT \l__projlib_logo_fast_bool
- {
- \DeclareRobustCommand * \ProjLib
- {
- \group_begin:
- \normalfont ProjLib
- \group_end:
- }
- \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 { xcolor }
-% \cs_new_protected:Nn \projlib_logo_generic:n
-% {
-% \group_begin:
-% \normalfont
-% \__projlib_logo_font:
-% \textcolor { blue!55!cyan } { P }
-% \textcolor { blue!45!cyan } { r }
-% \textcolor { blue!30!cyan } { o }
-% \textcolor { green!70!black!70 } { #1 }
-% \textcolor { red!20!yellow } { L }
-% \textcolor { red!40!yellow } { i }
-% \textcolor { red!55!yellow } { b }
-% \group_end:
-% }
-\cs_new_protected:Nn \projlib_logo_generic:n
- {
- \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:
- }
-
-\DeclareRobustCommand * \ProjLib
- {
- \projlib_logo_generic:n { \g__projlib_logo_sigma_j_tl }
- }
-\DeclareRobustCommand * \ProjLibText
- {
- \projlib_logo_generic:n { j }
- }
-
-\endinput
-%%
-%% End of file `projlib-logo.sty'.
diff --git a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-math.sty b/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-math.sty
deleted file mode 100644
index 977a4280038..00000000000
--- a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-math.sty
+++ /dev/null
@@ -1,234 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
-\ProvidesExplPackage
- {projlib-math}
- {2022/02/26} {}
- {Efficient math setup}
-
-\keys_define:nn { projlib-math }
- {
- , unknown .code:n = {}
- }
-\ProcessKeysOptions { projlib-math }
-
-\RequirePackage { mathtools }
-\RequirePackage { mathrsfs }
-\PassOptionsToPackage { warnings-off = { mathtools-colon, mathtools-overbracket } } { unicode-math }
-\@ifpackageloaded { unicode-math } {} { \RequirePackage { amssymb } }
-
-
-\msg_new:nnn { projlib-math }
- { operator-not-define }
- { The~math~operator~"\iow_char:N \\#1"~cannot~be~defined,~a~command~with~the~same~name~has~already~existed. }
-
-\keys_define:nn { projlib-math-operator }
- {
- , style .tl_set:N = \l__projlib_math_operator_style_tl
- , unknown .code:n = {}
- }
-
-\cs_new_protected:Nn \projlib_math_define_operator:nnn
- % #1 = bool for star or empty
- % #2 = list of operators
- % #3 = the option
- {
- \tl_clear:N \l__projlib_math_operator_style_tl
- \keys_set:nn { projlib-math-operator } { #3 }
- \clist_map_inline:nn { #2 }
- {
- \str_if_in:nnTF { ##1 } { = }
- {
- \seq_set_split:Nnn \l_tmpa_seq { = } { ##1 }
- \__projlib_math_define_operator:nee { #1 } { \seq_item:Nn \l_tmpa_seq { 1 } } { \seq_item:Nn \l_tmpa_seq { 2 } }
- }
- {
- \__projlib_math_define_operator:nee { #1 } { ##1 } { ##1 }
- }
- }
- }
-
-\cs_new_protected:Nn \__projlib_math_define_operator:nnn
- % #1 = bool for star or empty
- % #2 = the operator
- % #3 = the content
- {
- \cs_if_exist:cTF { #2 }
- {
- \msg_warning:nnn { projlib-math } { operator-not-define } { #2 }
- }
- {
- \bool_if:NTF #1
- {
- \exp_args:Nnf \use:n
- { \exp_args:Nnc \use:n { \DeclareMathOperator* } { #2 } }
- }
- {
- \exp_args:Nnf \use:n
- { \exp_args:Nc \DeclareMathOperator { #2 } }
- }
- % This is the f-argument of \exp_args:Nnf :
- {
- \exp_args:NnV \use:nn
- { \exp_stop_f: }
- { \l__projlib_math_operator_style_tl } { #3 }
- }
- }
- }
-\cs_generate_variant:Nn \__projlib_math_define_operator:nnn { nee }
-
-\NewDocumentCommand \DefineOperator { s O{} m O{} }
- {
- \tl_if_blank:nTF { #2 }
- {
- \projlib_math_define_operator:nnn { #1 } { #3 } { #4 }
- }
- {
- \projlib_math_define_operator:nnn { #1 } { #3 } { #2 }
- }
- }
-
-
-\msg_new:nnn { projlib-math }
- { shortcut-not-define }
- { The~shortcut~"\iow_char:N \\#1"~cannot~be~defined,~a~command~with~the~same~name~has~already~existed. }
-
-\msg_new:nnn { projlib-math }
- { shortcut-type-not-define }
- { The~shortcut~type~"#1"~is~not~available,~a~command~with~the~same~name~has~already~existed. }
-
-\keys_define:nn { projlib-math-shortcut }
- {
- , prefix .clist_set:N = \l__projlib_math_shortcut_prefix_clist
- , type .tl_set:N = \l__projlib_math_shortcut_type_tl
- , style .tl_set:N = \l__projlib_math_shortcut_style_tl
- , unknown .code:n = {}
- }
-
-\cs_new_protected:Nn \projlib_math_define_shortcut:nnn
- % #1 = bool for star or empty
- % (currently the starred version is the same as normal version)
- % #2 = list of shortcuts
- % #3 = the option
- {
- \clist_clear:N \l__projlib_math_shortcut_prefix_clist
- \tl_clear:N \l__projlib_math_shortcut_type_tl
- \tl_clear:N \l__projlib_math_shortcut_style_tl
- \keys_set:nn { projlib-math-shortcut } { #3 }
- \tl_if_empty:NF \l__projlib_math_shortcut_type_tl
- {
- \cs_if_exist:cTF { \l__projlib_math_shortcut_type_tl }
- {
- \exp_args:Nne \use:n
- { \msg_warning:nnn { projlib-math } { shortcut-type-not-define } }
- { \l__projlib_math_shortcut_type_tl }
- }
- {
- \exp_args:Nno \use:n
- {
- \exp_args:Nc \NewDocumentCommand { \l__projlib_math_shortcut_type_tl } { m }
- }
- {
- \l__projlib_math_shortcut_style_tl { ##1 }
- }
- }
- }
- \clist_map_inline:nn { #2 }
- {
- \str_if_in:nnTF { ##1 } { = }
- {
- \seq_set_split:Nnn \l_tmpa_seq { = } { ##1 }
- \clist_if_empty:NTF \l__projlib_math_shortcut_prefix_clist
- {
- \__projlib_math_define_shortcut:ee { \seq_item:Nn \l_tmpa_seq { 1 } } { \seq_item:Nn \l_tmpa_seq { 2 } }
- }
- {
- \clist_map_inline:Nn \l__projlib_math_shortcut_prefix_clist
- {
- \__projlib_math_define_shortcut:ee { ####1 \seq_item:Nn \l_tmpa_seq { 1 } } { \seq_item:Nn \l_tmpa_seq { 2 } }
- }
- }
- }
- {
- \clist_if_empty:NTF \l__projlib_math_shortcut_prefix_clist
- {
- \__projlib_math_define_shortcut:ee { ##1 } { ##1 }
- }
- {
- \clist_map_inline:Nn \l__projlib_math_shortcut_prefix_clist
- {
- \__projlib_math_define_shortcut:ee { ####1 ##1 } { ##1 }
- }
- }
- }
- }
- }
-
-\cs_new_protected:Nn \__projlib_math_define_shortcut:nn
- % #1 = command name
- % #2 = the content
- {
- \cs_if_exist:cTF { #1 }
- {
- \msg_warning:nnn { projlib-math } { shortcut-type-not-define } { #1 }
- }
- {
- \exp_args:Nno \use:n
- { \exp_args:Nc \NewDocumentCommand { #1 } {} }
- { \l__projlib_math_shortcut_style_tl { #2 } }
- }
- }
-\cs_generate_variant:Nn \__projlib_math_define_shortcut:nn { ee }
-
-\NewDocumentCommand \DefineShortcut { s O{} m O{} }
- {
- \tl_if_blank:nTF { #2 }
- {
- \projlib_math_define_shortcut:nnn { #1 } { #3 } { #4 }
- }
- {
- \projlib_math_define_shortcut:nnn { #1 } { #3 } { #2 }
- }
- }
-
-%===============================
-% -- Some possible operators --
-%===============================
-% \DefineOperator { ord, card, car, disc } [ style = \mathsf ]
-% \DefineOperator { id, Id, Ker, Image = Im } [ style = \mathsf ]
-% \DefineOperator { Orb, Stab, Fix } [ style = \mathsf ]
-% \DefineOperator { Hom, Aut, End, Mat } [ style = \mathsf ]
-% \DefineOperator { Spec, Spm, Ann } [ style = \mathsf ]
-% \DefineOperator*{ Lim, Max, Min } [ style = \mathsf ]
-
-%===============================
-% -- Some possible shortcuts --
-%===============================
-% \DefineShortcut [ type = category, style = \mathbf ]
-% {
-% Set, Grp, Ring, Top
-% }
-% \DefineShortcut [ style = \mathbb ]
-% {
-% N, Z, Q, R, C, F, A
-% }
-% \DefineShortcut [ prefix = bb, style = \mathbb ]
-% {
-% 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
-% }
-% \DefineShortcut [ prefix = { mf, frak }, style = \mathfrak ]
-% {
-% 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,
-% 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
-% }
-% \DefineShortcut [ prefix = { mc, cal }, style = \mathcal ]
-% {
-% 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
-% }
-% \DefineShortcut [ prefix = { ms, scr }, style = \mathscr ]
-% {
-% 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
-% }
-
-\endinput
-%%
-%% End of file `projlib-math.sty'.
diff --git a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-paper.sty b/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-paper.sty
deleted file mode 100644
index 5e1f9ac04ed..00000000000
--- a/Master/texmf-dist/doc/latex/projlib/new-modules/projlib-paper.sty
+++ /dev/null
@@ -1,108 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-\RequirePackage{l3keys2e}
-\ProvidesExplPackage
- {projlib-paper}
- {2022/02/25} {}
- {Paper style configuration}
-
-\keys_define:nn { projlib-paper }
- {
- , preview-mode .bool_set:N = \l__projlib_paper_preview_bool
- , preview-mode .initial:n = { false }
- , paperstyle .tl_set:N = \l__projlib_paper_paperstyle_tl
- , paperstyle .initial:n = { normal }
- , yellowpaper .meta:n = { paperstyle = yellow }
- , yellow-paper .meta:n = { paperstyle = yellow }
- , parchmentpaper .meta:n = { paperstyle = parchment }
- , parchment-paper .meta:n = { paperstyle = parchment }
- , greenpaper .meta:n = { paperstyle = green }
- , green-paper .meta:n = { paperstyle = green }
- , lightgraypaper .meta:n = { paperstyle = lightgray }
- , lightgray-paper .meta:n = { paperstyle = lightgray }
- , light-gray-paper .meta:n = { paperstyle = lightgray }
- , graypaper .meta:n = { paperstyle = gray }
- , gray-paper .meta:n = { paperstyle = gray }
- , nordpaper .meta:n = { paperstyle = nord }
- , nord-paper .meta:n = { paperstyle = nord }
- , darkpaper .meta:n = { paperstyle = dark }
- , dark-paper .meta:n = { paperstyle = dark }
- , unknown .code:n = {}
- }
-\ProcessKeysOptions { projlib-paper }
-
-\cs_new:Nn \projlib_paper_preview_disable:
- {
- \bool_set_false:c { l__projlib_paper_preview_bool }
- }
-
-\hook_gput_code:nnn { begindocument/before } { projlib-paper }
- {
- \bool_if:NT \l__projlib_paper_preview_bool
- {
- \dim_set:Nn \paperwidth
- {
- \dim_eval:n { \textwidth * 21 / 20 }
- }
- \dim_set:Nn \paperheight
- {
- \dim_eval:n { ( \textheight + \headheight + \headsep + \footskip ) * 21 / 20 }
- }
- \dim_set:Nn \oddsidemargin
- {
- \dim_eval:n { ( \paperwidth - \textwidth ) / 2 - 1in }
- }
- \dim_set:Nn \evensidemargin
- {
- \dim_eval:n { ( \paperwidth - \textwidth ) / 2 - 1in }
- }
- \dim_set:Nn \topmargin
- {
- \dim_eval:n { ( \paperheight - \textheight - \headheight - \headsep - \footskip ) / 2 - 1in }
- }
- }
- }
-
-\RequirePackage { xcolor }
-
-\definecolor { paper } { RGB } { 255, 255, 255 }
-\definecolor { main-text } { RGB } { 0, 0, 0 }
-
-\str_case_e:nn { \l__projlib_paper_paperstyle_tl }
- {
- { yellow } { \definecolor { paper } { RGB } { 247, 246, 233 } }
- { parchment } { \definecolor { paper } { RGB } { 224, 204, 160 } }
- { green } { \definecolor { paper } { RGB } { 207, 231, 207 } }
- { lightgray } { \definecolor { paper } { RGB } { 236, 239, 244 }
- \definecolor { main-text } { RGB } { 37, 41, 46 } }
- { light-gray } { \definecolor { paper } { RGB } { 236, 239, 244 }
- \definecolor { main-text } { RGB } { 37, 41, 46 } }
- { gray } { \definecolor { paper } { RGB } { 127, 130, 136 }
- \definecolor { main-text } { RGB } { 236, 239, 244 } }
- { nord } { \definecolor { paper } { RGB } { 46, 52, 64 }
- \definecolor { main-text } { RGB } { 214, 220, 230 } }
- { dark } { \definecolor { paper } { RGB } { 28, 29, 33 }
- \definecolor { main-text } { RGB } { 210, 213, 217 } }
- }
-
-\cs_new:Nn \projlib_paper_set_page_color:n
- {
- \pagecolor { #1 }
- }
-\cs_new:Nn \projlib_paper_set_text_color:n
- {
- \color { #1 }
- \cs_gset_eq:cc { default@color } { current@color }
- }
-
-\projlib_paper_set_page_color:n { paper }
-\projlib_paper_set_text_color:n { main-text }
-
-\hook_gput_code:nnn { begindocument/before } { projlib-paper }
- {
- \cs_if_exist:NT \tcbset
- { \tcbset { colupper = main-text, collower = main-text } }
- }
-
-\endinput
-%%
-%% End of file `projlib-paper.sty'.